不要完全相信浏览器F12调试模式复制的XPath(python使用XPath获取不到数据原因)

Python 284℃

在写爬虫的时候,在Chrome 开发者工具里面直接复制 XPath,虽然长了点,但是工作一切正常,所以频繁使用。但有时候提取出的路径不完全正确导致获取不到数据。

例如从 Chrome 中复制出来的下面这个 XPath:

/html/body/div/table/tbody/tr[3]/td[4]

但仔细观察源代码的 XPath,就会发现里面没有tbody节点。

在 HTML 的规范里面,表格的正文确实应该包在tbody标签里面。但现在很多前端开发者都会省略这个标签。

而 Chrome 会自动识别到这种情况,然后自动加上这个标签,所以在开发者工具里面看到的 HTML 代码是有这个标签的。

所以Chrome 开发者工具里面显示的 HTML 代码,跟网页真正的源代码可能有区别。

也就是说网站原始的 HTML 代码编写不够规范,或者存在一些错漏,那么 Chrome 浏览器会自动纠错和调整。

当你写python爬虫的时候, Chrome 开发者工具里面复制的 XPath 仅作参考,需要以源码为准,否则可能抓不到数据。

转载请注明:零五宝典 » 不要完全相信浏览器F12调试模式复制的XPath(python使用XPath获取不到数据原因)