admin 管理员组文章数量: 1103785
偶尔我们在写爬虫的时候会遇到这样一个问题,在浏览器上写的xpath语法明明可以获得数据,但是到python里面,一模一样的xpath语法却无法得到数据,这个问题出现在哪里呢?
【前提:自己写的xpath没有问题,能准确获取数据】
原因一:
浏览器上的xpath是根据 浏览器解析了服务器返回过来的网页源码,两者可能存在一定差异,比如部分标签不一样。
【查看网页源码(在网页上右键,检查网页源码)】
会发现网页源码的标签与浏览器解析的不太一样,此为正常现象:是因为浏览器解析了服务器返回过来的网页源码导致的,python获取的是此源码,非浏览器解析的结果【但是大多数情况下浏览器上与此源码一样】。
如今的浏览器是非常智能的,如果HTML缺少些标签,也会帮助服务器返回过来的源码自动补全,导致标签上存在差异。
获取方式:查看网页源码【或者从spyder里面复制出来content变量的内容<最准确>】,通过网页源码确定准确的标签以及属性。
原因二:
数据是通过动态加载的,静态网页数据获取的一套在这里根本用不上。
需要学习动态网页爬虫才能准确获取想要的数据。
公众号有更多干货分享哦~~
版权声明:本文标题:为什么浏览器上xpath可以获取数据,python中无法获取 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.520sys.cn/xp/1755022720a1457667.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论