Python Scrapy:响应对象与浏览器中的源代码不同

时间:2014-10-27 19:19:26

标签: python scrapy response

我正在使用Scrapy开展项目。

所有想要的领域,但一个人完全被刮掉了。丢失字段的内容根本不会显示在Scrapy响应中(在scrapy shell中检查),而当我使用浏览器访问页面时它会显示。在scrapy响应中,预期的标签存在,但不是标签之间的文本。

没有涉及JavaScript,但它是由服务器提供的变量(它是当前访问该特定页面的次数)。没有iframe参与。

已经设置用户代理(在设置文件中)以匹配我的浏览器。 已将下载延迟(在设置文件中)设置为5。

编辑(补充):

这个谜团的原因是什么?

1 个答案:

答案 0 :(得分:1)

它是一个加载了ajax / javascript的值。

您采取了哪些步骤来确定没有涉及JS?我加载了没有javascript的页面,虽然页面的那个区域有存根内容(" Visitas"),但实际数据是用ajax请求写的。

您仍然可以使用scrapy加载该数据,它只会对通常通过页面ajax访问的URL端点发出额外请求。服务器通过http://www.fincaraiz.com.co/WebServices/Statistics.asmx/GetAdvertVisits?idAdvert=1337688&idASource=40&idType=1001处的脚本返回XML访问次数(尝试加载该脚本,您将看到原始电子邮件中提供的页面的访问次数)。

还有另一个ajax请求返回" True"该页面,但我不确定数据的实际含义是什么。不过,它可能很有用:

http://www.fincaraiz.com.co/WebServices/Statistics.asmx/DetailAdvert?idAdvert=1337688&idType=1001&idASource=40&strCookie=13/11/2014:19-05419&idSession=10hx5wsfbqybyxsywezx0n1r&idOrigin=44