爬虫小trick分享:插件一键禁用网站js

爬虫小trick分享:插件一键禁用网站js

在学习爬虫的过程中经常会使用xpath来抓取页面元素,而我们是通过浏览器的开发者工具来获得xpath路径的。但是有的时候会遇到一个问题,在我们都可以获取到数据的情况下,通过浏览器获取的xpath路径是经过js渲染之后得到的。但通过requests库抓取的页面是未渲染的,前后的dom节点会有所变化,xpath也不同,这样就很麻烦。无意间发现了一个插件可以任意开关网站的js,非常方便。

这里我们以https://www.shutterstock.com/这个图片网站为例,我们需要抓取该图片的标题

我们右键检查该元素。

获取该元素的xpath路径,我们用提取出这个标题。

抛出异常,这说明我们的xpath是有问题的。原因就是页面在加载js后元素的dom节点发生了改变。

而requests这类库是直接请求数据的,但是并不会渲染js,也就没有任何变动。

但是我们需要的数据是在的,但是页面渲染改变了我们需要的元素的位置。

这时候就需要禁用掉js,拿到元素原本的xpath路径。但是大家知道Chrome浏览器有一个js的全局总开关,但是每次都要到设置去修改,非常麻烦。所以这时候插件就显得尤为方便。

此时获取的网页和我们用requests库获取的是一模一样的,现在右键获取到的xpath就是我们想要的了。

此时成功获取到了我们需要的标题信息。虽然xpath路径上只是很细微的变化,但是这对我们的抓取影响是很大的。

使用插件可以提高我们开发爬虫的效率,虽然这只是一个小trick,但是多积累但是的效率提升是超乎想象的。

这个插件的名字叫 Disable JavaScript ,在谷歌商店评分也很高,推荐给大家。链接:

https://chrome.google.com/webstore/detail/disable-javascript/jfpdlihdedhlmhlbgooailmfhahieoem

zgao

如果有什么技术上的问题,可以加我的qq 1761321396 一起交流。