Python 使用Beautiful Soup从主网站页面访问所有元素
我想从这个网站上搜集新闻: 你们可以看到该网站有诸如家庭、美国选举、冠状病毒等类别 例如,如果我阅读特定的新闻文章,例如: 我可以写一个刮板,给我一个标题,下面是代码:Python 使用Beautiful Soup从主网站页面访问所有元素,python,web-scraping,beautifulsoup,Python,Web Scraping,Beautifulsoup,我想从这个网站上搜集新闻: 你们可以看到该网站有诸如家庭、美国选举、冠状病毒等类别 例如,如果我阅读特定的新闻文章,例如: 我可以写一个刮板,给我一个标题,下面是代码: from bs4 import BeautifulSoup response = requests.get("https://www.bbc.com/news/election-us-2020-54912611", headers=headers) soup = BeautifulSoup(re
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")
好的,在得到这些标题之后,你也可以在这个页面上有另一个链接,你只需再次打开这些链接并从这些链接中获取信息,它可以是这样的:
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地址