我想从这个网站上摘录一些新闻:
你可以看到网站有诸如Home、美国大选、冠状病毒等类别。
例如,如果我转到特定的新闻文章,比如:https://www.bbc.com/news/election-us-2020-54912611
我可以写一个抓取器,它会给出标题,这是代码:
from bs4 import BeautifulSoup
response = requests.get("https://www.bbc.com/news/election-us-2020-54912611", headers=headers)
soup = BeautifulSoup(response.content, 'html.parser')
title = soup.select("header h1")
print(title)在这个网站上有数以百计的新闻,所以我的问题是,有没有办法从主页url访问网站(所有类别)上的每一篇新闻文章?在主页上我不能看到所有的新闻文章,我只能看到其中的一些,所以有没有办法让我加载整个网站的整个HTML代码,这样我就可以很容易地获得所有的新闻标题:
soup.select("header h1")发布于 2020-11-12 20:57:05
好的,在得到这个标题之后,你还可以在这个页面上有其他的链接,你只需要再次打开那个链接,并从那个链接中获取信息,它可以是这样的:
visited = set()
links = [....]
while links:
if link_for_fetch in visited:
continue
link_for_fetch = links.pop()
content = get_contents(link_for_fetch)
headlines += parse_headlines()
links += parse_links()
visited.add(link_for_fetch)这只是伪代码,你可以用任何编程语言编写。但这可能需要花费大量时间来解析整个站点:(而且机器人可能会阻止你的ip地址
https://stackoverflow.com/questions/64804060
复制相似问题