买球赛正规网站 - 买球赛科技有限公司官方服务平台

【Python3爬虫】常见反爬虫措施及解决办法(三)
发布时间:2026-08-14 13:31

  【Python3爬虫】常见反爬虫措施及解决办法(三) 上一篇博客的末尾说到全网代理IP的端口号是经过加密混淆的,而这一篇博客就将告诉你如何破解!如果觉得有用的话,不妨点个推荐哦~   一、全网代理IP的JS混淆 首先进入全网代理IP,打开开发者工具,点击查看端口号,看起来貌似没有什么问题: 如果你已经爬取过这个网站的代理,你就会知道事情并非这么简单。

  上一篇博客的末尾说到全网代理IP的端口号是经过加密混淆的,而这一篇博客就将告诉你如何破解!如果觉得有用的话,不妨点个推荐哦~

  首先进入全网代理IP,打开开发者工具,点击查看端口号,看起来貌似没有什么问题:

【Python3爬虫】常见反爬虫措施及解决办法(三)(图1)

  如果你已经爬取过这个网站的代理,你就会知道事情并非这么简单。如果没爬过呢?也很简单,点击鼠标右键然后查看网页源代码,搜索”port“,可以找到如下内容:

【Python3爬虫】常见反爬虫措施及解决办法(三)(图2)

【Python3爬虫】常见反爬虫措施及解决办法(三)(图3)

  这么复杂的JS代码看得人头都大了,不过我们发现这个JS代码是一个eval函数,那我们能不能把它解码一下呢?这时候你需要一个工具--脚本之家在线工具,把这些JS代码复制进去:

  到这一步,已经比最开始的代码简洁多了,但是还易读性还是很差,所以我们需要先格式化一下:

  可以看到有一个列表和一个函数,而这个函数应该就是混淆的函数了,但是这列表里的数据都是十六进制的,还需要解码一下(这一步可以用Python来做):

  可以看到这段JS代码就是先找到每个端口节点,然后把端口的class值提取出来,再进行拆分字符串,然后获取每个字母在”ABCDEFGHIZ“中的下标值,并把这些值拼接成字符串,再转为整型数据,最后把这个整型数据向右移3位。比如”GEA“对应的下标组成的字符串是”640“,转为整型数据后向右移3位的结果就是80,也就是真实的端口值了。最后附上用Python解密端口号的代码:

  之前就有人评论说有的网站使用图片代替文字以实现反爬虫,然后我这次就找到了一个网站--新蛋网,随意点击一个商品查看一下:

【Python3爬虫】常见反爬虫措施及解决办法(三)(图4)

【Python3爬虫】常见反爬虫措施及解决办法(三)(图5)

  我找到两个可以得到价格的办法,一个简单的,一个难一点的。简单的方法是用正则表达式,因为在源码中的其他地方是包含商品的基本信息的,比如名称和价格,所以我们可以使用正则表达式进行匹配,代码如下:

  难一点的方法是把图片下载到本地之后进行识别,由于这个图片的清晰度很高,也没有扭曲或者加入干扰线什么的,所以可以直接使用OCR进行识别。但是用这种方法的话需要安装好Tesseract-OCR,这个工具的安装过程还是比较麻烦的。用这种方法破解的代码如下:

  

服务热线