python - 从网站中提取表格

标签 python html parsing beautifulsoup urllib2

我多次尝试在该网站检索该表: http://www.whoscored.com/Players/845/History/Tomas-Rosicky (“历史参与”下的)

import urllib2 
from bs4 import BeautifulSoup 
soup = BeautifulSoup(urllib2.urlopen('http://www.whoscored.com/Players/845/').read())

这是我用来检索表 html 的 Python 代码,但我得到的是空字符串。帮帮我吧!

最佳答案

所需的表是通过对http://www.whoscored.com/StatisticsFeed/1/GetPlayerStatistics端点请求的异步API调用形成的,该请求返回一个JSON 响应。换句话说,urllib2 将返回页面的初始 HTML 内容,不含“动态”部分。换句话说,urllib2 不是浏览器。

您可以使用浏览器开发人员工具研究该请求:

enter image description here

现在,您需要在代码中模拟此请求。 requests package是您应该考虑使用的东西。

这是一个关于 whoscored.com 的类似问题,我之前已经回答过,这里有一个示例工作代码,您可以将其用作起点:

关于python - 从网站中提取表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29375475/

相关文章:

python - 从守护程序应用程序的 Microsoft Outlook 图形 API 获取 accesstoken

python - 如何访问 Pyramid .ini 文件中的自定义部分?

javascript - 当另一个 Div 进入视口(viewport)时让 Div 出现

XML 解析快速访问 attributeDict

list - 用于验证括号匹配的 Haskell 函数

python - 尝试执行 luigi 任务时如何修复 "luigi.worker.TaskException: Can not schedule non-task <class ' __main__.Task'>"?

python - 通过 Telethon 报告垃圾邮件或滥用行为

javascript - 轻松切换 jquery/html/css3 在 ie 中无法正常工作

html - 改变 。在 html5 中输入类型 ='number' 上的(点)分隔符,(逗号)

java - 如何解析文本文件/需要第一个字符才能在 switch 语句中使用