用Scrapy清理AJAX网站
从最近两天开始,我一直在寻找我的问题的答案,但现在我很沮丧。我发现了很多关于这方面的东西,但没有任何东西帮助我实现我的目标。这一长段的目的是让您知道,请不要将stackoverflow之前的答案链接起来作为参考。请给我简单明了的解决方案/答案。 我想从中提取球员的数据 但我在向下滚动页面时会遇到ajax。 我的队友要求我不要使用硒。他让我只使用Scrapy来做这个用途。 所以,请用简单的话告诉我是否可以用刮痧如果可能的话,那怎么办呢。 我会感谢你的。这很容易 打开检查元件或Firebug 切换到网络选项卡,然后单击XHR 然后开始向下滚动页面 您将看到他们正在发送AJAX请求 只需检查他们向哪个URL发送请求,并检查发送的表单数据用Scrapy清理AJAX网站,ajax,scrapy,Ajax,Scrapy,从最近两天开始,我一直在寻找我的问题的答案,但现在我很沮丧。我发现了很多关于这方面的东西,但没有任何东西帮助我实现我的目标。这一长段的目的是让您知道,请不要将stackoverflow之前的答案链接起来作为参考。请给我简单明了的解决方案/答案。 我想从中提取球员的数据 但我在向下滚动页面时会遇到ajax。 我的队友要求我不要使用硒。他让我只使用Scrapy来做这个用途。 所以,请用简单的话告诉我是否可以用刮痧如果可能的话,那怎么办呢。 我会感谢你的。这很容易 打开检查元件或Firebug 切换到
headers = {
'Referer': 'https://www.premierleague.com/players',
'Origin': 'https://www.premierleague.com',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36',
'DNT': '1',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
}
params = {
'pageSize': '30',
'compSeasons': '210',
'altIds': 'true',
'page': '0',
'type': 'player',
'id': '-1',
'compSeasonId': '210',
}
yield Request('https://footballapi.pulselive.com/football/players?%s' % (urllib.urlencode(params)), headers=headers)
要继续分页,可以通过
范围()
循环,将'page'
参数设置为循环中的计数器。