|
|
|
|
移动端

此Python破解反爬虫实例,曾帮助过我成长,你也会对它表示感谢!

通过用JS在本地生成随机字符串的反爬虫机制,在利用Python写爬虫的时候经常会遇到的一个问题。希望通过讲解,能为大家提供一种思路。以后再碰到这种问题的时候知道该如何解决

作者:空手忆岁月来源:今日头条|2018-08-09 11:35

技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战

通过用JS在本地生成随机字符串的反爬虫机制,在利用Python写爬虫的时候经常会遇到的一个问题。希望通过讲解,能为大家提供一种思路。以后再碰到这种问题的时候知道该如何解决。(如果缺乏学习资料的同学,文末已经给你提供!)

破解有道翻译反爬虫机制

web端的有道翻译,在之前是直接可以爬的。也就是说只要获取到了他的接口,你就可以肆无忌惮的使用他的接口进行翻译而不需要支付任何费用。那么自从有道翻译推出他的API服务的时候,就对这个接口做一个反爬虫机制。这个反爬虫机制在爬虫领域算是一个非常经典的技术手段。那么他的反爬虫机制原理是什么?如何破解?接下来带大家一探究竟。

一、正常的爬虫流程:

在上图,我们可以看到发送了很多的网络请求,这里我们点击第一个网络请求进行查看:

对其中几个比较重要的数据进行解释:

其他的数据类型暂时就不怎么重要了,都是固定写法,我们后面写代码的时候直接鞋子就可以了。到现在为止,我们就可以写一个简单的爬虫,去调用有道翻译的接口了。这里我们使用的网络请求库是Python3自带的urllib,相关代码如下:

二、破解反爬虫机制:

然后把格式化后的代码,复制下来,用sublime或者pycharm打开都可以,然后搜索salt,可以找到相关的代码:

知道salt和sign的生成原理后,我们就可以写Python代码,来对接他的接口了,以下是相关代码:

【编辑推荐】

  1. Python在四个榜单雄踞第一 专家预测十年内Python最强
  2. 使用Python这么多年,才发现Python还有这些实用的功能和特点
  3. 干货 | 20个最有用的Python数据科学库
  4. TIOBE 8 月编程语言榜:Python 差点拿下第 3 名
  5. 网络爬虫框架Scrapy详解之Request
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Struts 2权威指南:基于WebWork核心的MVC开发

本书所介绍的Struts 2已经完全超出了Struts 1框架原有的高度,Struts 2建立在Struts 1和WebWork两个框架整合的基础之上,因此提供了更多优...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊