我正在使用Scrapy进行项目。
所有想要的字段,但其中一个被完美地刮掉了。缺少字段的内容根本不会显示在Scrapy响应中(如在scrapy shell中选中),而当我使用浏览器访问该页面时,它会显示。在scrapy响应中,期望的标签在那里,但标签之间的文本不存在。
它不涉及JavaScript,但它是服务器提供的变量(这是对该特定页面的当前访问次数)。也不涉及iframe。
已经设置了用户代理(在settings-file中)以匹配我的浏览器。已将下载延迟(在设置文件中)设置为5。
编辑(添加):
页面:http : //www.fincaraiz.com.co/apartamento-en-venta/bogota/salitre-det-1337688.aspx
所需元素的Xpath:// * [@ id =“ numAdvertVisits”]
造成这个谜团的原因是什么?
这是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”,但是我不确定数据的实际含义是什么。尽管如此,它可能还是有用的:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句