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地址