我已经阅读了一些相关的帖子,但无法找到答案。使用AJAX的刮脸网站
我想抓取一个网页与评论。当访问网站时,首先只有10条评论,并且用户应当按下“显示更多”以获得10条更多评论(其还将#add10添加到网站地址的末尾),每当他滚动到结束时评论列表。实际上,用户可以通过将#add1000(其中1000是额外的评论数)添加到网站地址的末尾来获得完整的评论列表。问题是,我得到使用SITE_URL#add1000我只蜘蛛前10条评论中,正如与SITE_URL所以这种方法是行不通的。
我也无法找到一种方法来制作一个适当的请求模仿网站的原点。产地AJAX URL的形式为 '域/ ajaxlst PAR1 = X & PAR2 = Y?' 和我想这一切:
Request(url='domain/ajaxlst?par1=x&par2=y', callback=self.parse_all)
Request(url='domain/ajaxlst?par1=x&par2=y', callback=self.parse_all,
headers={all_headers})
Request(url='domain/ajaxlst?par1=x&par2=y', callback=self.parse_all,
headers={all_headers}, cookies={all_cookies})
但每次我得到一个404错误。任何人都可以解释我做错了什么?
那么,我以前使用硒+ phantomjs,但它相对较慢。你确定这不是一个更好的方法吗? –
@AlexK。还有其他的方式看到这个http://stackoverflow.com/questions/16390257/scraping-ajax-pages-using-python,但我不知道导航和所有。 – Steve
谢谢。我在代码中发现了一个错误 - 实际上,我错过了'x-requested-with':'XMLHttpRequest'在我的头文件中,并且noboby可能会注意到它,因为我没有提供这部分代码...既然你的答案建议另一种解决问题的恰当方法,我将其标记为解决方案。 –