Python 使用BeautifulSoup创建具有多个页面的Webscraping表

Python 使用BeautifulSoup创建具有多个页面的Webscraping表,python,web-scraping,beautifulsoup,Python,Web Scraping,Beautifulsoup,我正在尝试使用BeautifulSoup刮取此网页,以获取玩家统计表的所有信息。我有很多困难,不知道是否有人能帮助我 url = 'https://www.whoscored.com/Statistics' html = requests.get(url).content soup = BeautifulSoup(html, "lxml") text = [element.text for element in soup.find_all('div' {'id':"statistics-tabl

我正在尝试使用BeautifulSoup刮取此网页,以获取玩家统计表的所有信息。我有很多困难,不知道是否有人能帮助我

url = 'https://www.whoscored.com/Statistics'
html = requests.get(url).content
soup = BeautifulSoup(html, "lxml")
text = [element.text for element in soup.find_all('div' {'id':"statistics-table-summary"})]
我的问题在于,我不知道获取该表的正确标记是什么。此外,该表有几页,我想擦掉每一页。我所看到的表格中页面变化的唯一迹象是下面代码中的数字:

<div id="statistics-table-summary" class="" data-fwsc="11">

在我看来,该网站使用Javascript加载数据。为了获取数据,您必须模拟浏览器加载页面的方式;请求库不够。我建议看一看像这样的工具,它使用“机器人浏览器”来加载页面。加载页面后,您可以使用BeautifulSoup检索所需的数据

下面是RealPython的一个有用的教程


祝你好运

+1用于改进问题。下面的评论似乎有可能成立,您将需要一个类似selenium的方法。你可以通过打印汤并查看是否有你想要的信息来验证。关于桌子。右键单击实际表顶部的inspect,并在html中找到实际表标记。选择该标记时,表本身应高亮显示。你想要的是桌子,而不是上面的div。该表的id为top team stats摘要网格。你最好在表格上问一个问题,然后在不同的页面上跟进。