自从过去两天以来,我一直在寻找问题的答案,但现在我很沮丧。我发现了很多有关此的内容,但没有任何帮助实现目标。这段漫长的段落的目的是提醒您,请不要链接stackoverflow的先前答案以供参考。请为我提供简单整洁的解决方案/答案。 我想从https://www.premierleague.com/players抓取玩家数据 但是在向下滚动页面时我遇到了ajax。 我的队友要求我不要使用硒。他要求我仅将Scrapy用于此目的。 因此,请简单地说出Scrapy是否可行。 &如果可能的话如何。 我会感谢你的。
答案 0 :(得分:0)
简单
打开检查元素或Firebug
切换到“网络”标签,然后单击XHR
然后开始向下滚动页面
您将看到他们正在发送AJAX请求
只需检查他们将请求发送到哪个URL,并检查正在发送的表单数据
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)