今天在帮学姐爬取一个化学网站的数据时,遇到了一个小问题,当我在浏览器中用xpath语法定位到该表格元素后并将其copy至程序中后,我发现怎么样都无法正确定位。
当然最后还是找到了解决方案:查看源代码,因为在浏览器中普遍会对html代码进行优化,在源代码中定位到目标元素中后发现表格中的table元素下没有tbody,是浏览器自动加上去的,还有就是p元素的标签没有闭合,也是浏览器自动补上去的…之后就可以根据原始的html代码而进行查找了。
当然我个人认为还有第二种解决方案就是使用selenium进行定位,因为是使用操作浏览器,所以应该会正常渲染补全标签。
是真的很坑。。。。。记得以前在慕课上好像看到过这个情况来着
在爬取化学网站数据过程中,遇到HTML结构不完整导致XPath定位失败的问题。通过检查源代码发现,浏览器自动补全了某些HTML标签,如tbody和p标签。最终采用两种方案解决:一是依据原始HTML代码进行定位;二是利用Selenium操作浏览器实现元素的正常渲染和定位。
1972





