一线大厂在用的反爬虫手法,看我破!
  • 时间:2020-11-18

内容选自 行将出书 的《Python3 反爬虫原理与绕过实战》,本次揭露书稿规模为第 6 章——文本混杂反爬虫。本篇为第 6 章中的第 3 末节 SVG 反爬虫,第 4 节 《深化细枝末节,字体反爬虫究竟怎样一回事》 已发,其他末节将 逐渐放送 。

SVG 是用于描绘二维矢量图形的一种图形格局。它依据 XML 描绘图形,对图形进行扩大或缩小操作都不会影响图形质量。矢量图形的这个特色使得它被广泛运用在 Web 网站中。

接下来咱们要了解的反爬虫手法正是运用 SVG 完结的,这种反爬虫手法用矢量图形替代详细的文字,不会影响用户正常阅览,但爬虫程序却无法像读取文字那样取得 SVG 图形中的内容。因为 SVG 中的图形代表的也是一个个文字,所以在运用时有必要在后端或前端将实在的文字与对应的 SVG 图形进行映射和替换,这种反爬虫手法被称为 SVG 映射反爬虫。

示例 6:SVG 映射反爬虫示例。

网址: http://www.porters.vip/confus... 。

使命:爬取美食商家点评网站页面中的商家联系电话、店肆地址和评分数据,页面内容如图 6-15

所示。

图 6-15 示例 6 页面

在编写 Python 代码之前,咱们需求承认方针数据的元素定位。在定位过程中,发现一个与以往不同的现象:有些数字在 HTML 代码中并不存在。例如口味的评分数据,其元素定位如图 6-16 所示。

图 6-16 评分数据中口味分数元素定位

依据页面显现内容,HTML 代码中应该是 8.7 才对,但实践上咱们看到的却是:

 span 
    

客服QQ: 点击这里
地址: 客服QQ:
Copyby 2020 Power by DedeCms

服务时间:7X10小时