我使用BeautifulSoup来尝试拉顶部链接或只是从CNN主页上不同主题的头条新闻。我似乎在这里失去了一些东西,并希望得到一些帮助。我之前设法想出了一些网络扫描器,但它总是经历了很多阻力,并且是一场艰苦的战斗。Python网页刮美丽的汤 - 有问题
它是什么样子对我来说,我需要的链接被最终存储这样的地方:
<article class="cd cd--card cd--article cd--idx-1 cd--extra-small cd--has-siblings cd--media__image" data-vr-contentbox="/2015/10/02/travel/samantha-brown-travel-channel-feat/index.html" data-eq-pts="xsmall: 0, small: 300, medium: 460, large: 780, full16x9: 1100" data-eq-state="small">
我可以抓住数据VR-contentbox后该链接,并将它添加到www结束。 cnn.com,它带我到我需要的页面。我的问题实际上在抓住那个链接。我尝试过各种形式来抓住他们。我当前迭代如下:
r = requests.get("http://www.cnn.com/")
data = r.text
soup = BeautifulSoup(data)
for link in soup.findAll("article"):
test = link.get("data-vr-contentbox")
print(test)
我在这里的问题是,它似乎只抢到为数不多的事情,我真的需要。我只看到两篇来自政治的文章,没有一篇是旅行的,等等。我希望在解决这个问题上有一些帮助。我期望抓住每个主题下的所有链接。现在我只是将政治或旅行视为开始的基础。
特别是,我希望能够指定主题(技术,旅游,政治等),并抓住这些头条新闻。我是否可以简单地抓住链接并使用它们从各自的页面获得标题,或者只是从这里获取标题......我似乎也无法做到。能够一次查看一个主题中的所有内容会很好,但找到如何缩小这个范围并不是很简单。
一个示例文章是可以在标签中找到的“IOS 9的Wi-Fi辅助功能代价高昂”。 我希望能够在主页上的技术标题下找到所有文章,并隔离这些标签以获取标题。这个标题的标签是这样的:
<div class="strip-rec-link-title ob-tcolor">IOS 9's Wi-Fi Assist feature costly</div>
但我不知道如何做这些事情。我甚至不能似乎抢头条,尽管它是标签内,当我试试这个:
for link in soup.findAll("div"):
print("")
print(link)
我觉得我有一个根本性的误解的地方,虽然我已经成功之前做一些铲运机。