为什么浏览器上xpath可以获取数据,python中无法获取

偶尔我们在写爬虫的时候会遇到这样一个问题,在浏览器上写的xpath语法明明可以获得数据,但是到python里面,一模一样的xpath语法却无法得到数据,

         偶尔我们在写爬虫的时候会遇到这样一个问题,在浏览器上写的xpath语法明明可以获得数据,但是到python里面,一模一样的xpath语法却无法得到数据,这个问题出现在哪里呢?

        【前提:自己写的xpath没有问题,能准确获取数据】

原因一:

        浏览器上的xpath是根据  浏览器解析了服务器返回过来的网页源码,两者可能存在一定差异,比如部分标签不一样。

【查看网页源码(在网页上右键,检查网页源码)】 

会发现网页源码的标签与浏览器解析的不太一样,此为正常现象:是因为浏览器解析了服务器返回过来的网页源码导致的,python获取的是此源码,非浏览器解析的结果【但是大多数情况下浏览器上与此源码一样】。

      如今的浏览器是非常智能的,如果HTML缺少些标签,也会帮助服务器返回过来的源码自动补全,导致标签上存在差异。

     获取方式:查看网页源码【或者从spyder里面复制出来content变量的内容<最准确>】,通过网页源码确定准确的标签以及属性。

原因二:

     数据是通过动态加载的,静态网页数据获取的一套在这里根本用不上。

     需要学习动态网页爬虫才能准确获取想要的数据。

公众号有更多干货分享哦~~

        

发布者:admin,转转请注明出处:http://www.yc00.com/web/1755022715a5227569.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信