首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

别去送死了!爬虫使用 Selenium与Puppeteer 能被网站探测的几十个特征

很多人喜欢使用 Selenium 或 Puppeteer(Pyppeteer) 通过模拟浏览器来编写爬虫,自以为这样可以不被网站检测到,想爬什么数据就爬什么数据

但实际上,Selenium 启动的浏览器,有几十个特征可以被网站通过 JavaScript 探测到;Puppeteer 启动的浏览器,也有很多特征能够被网站探测

如果你不相信,那么我们来做一个实验。首先你使用正常的浏览器打开如下网址:

可以看到,页面的内容如下:

这个页面很长,你得滚动鼠标往下看,大部分都是绿色的

接下来,使用 Selenium启动一个 Chrome 的有头模式,再打开这个页面看看效果:

一开始 这一项就标红了,说明网站成功检测到你使用模拟浏览器了

你再往下翻,标红的都是可以被检测出的特征

左边是普通浏览器,右边是模拟浏览器

左边是普通浏览器,右边是模拟浏览器

如果你一项一项对比,就会发现很多地方都不一样

这还是有头模式的效果。我们来看看无头模式:

截图打开以后是下面这样的。不要吓到:

万里河山一片红

这么多特征都直接暴露了,你还隐藏个屁。网站只要想发现你,非常容易。

既然 Selenium 不行,那 Puppeteer 或者 Pyppeteer怎么样呢?

我们使用 Pyppeteer 来做个实验,直接启动无头模式并截图

运行效果是下面这样的:

跟 Selenium 没什么区别

所以,你还好意思继续用这两个东西来写爬虫?

爬点没有安全意识的小网站可以,爬那些有强大安全团队和法务团队的公司,你就是在找死!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201129A04BGP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券