我正在尝试学习如何在 python 中使用 scrappy;我不熟悉CSS
我要抓取的网站:https://fantasydata.com/nfl-stats/point-spreads-and-odds?season=2018&seasontype=1&week=17
所以当我复制日期的选择器时,结果是这样的:
stats_grid > div.k-grid-content.k-auto-scrollable > table > tbody > tr:nth-child(1) > td:nth-child(1) > span
当我通过以下操作调出 scrappy 模块时:python shell "url"
并输入 response.css('selector here')
我没有得到任何结果!
如何检索日期信息?
感谢阅读此消息!
最佳答案
所以这里的问题是,当 scrappy 收到页面响应时,您尝试抓取的数据不可用。
如果您在页面加载时打开了浏览器的开发人员控制台,请在网络选项卡上查看到此 URL 的 XHR 请求:
https://fantasydata.com/NFLTeamStats/Odds_Read
如果您检查它的有效载荷,您会发现它包含的正是您要抓取的数据。换句话说,它是通过 HTTP 提取从网站的应用程序加载的在初始页面已加载。
因此,当您使用 webscaper(如 scrappy)时,您无法看到此类数据。你真的只是得到了初始页面模板,之后任何由javascript加载的东西都是不可用的。
如果您正在寻找与 NFL 和幻想相关的一般统计数据,可以使用一个名为 FFDB 的应用程序,它可以让您使用其引擎轻松创建数据库:
免责声明:我是应用程序的作者。
最后请注意,css
标记与此问题无关。 scraping
或 webscrape
标签会更合适。
祝你好运!
关于python scrapy足球数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54893769/