Python requests抓取有道翻译 最新版破解js加密

目标网站:http://fanyi.youdao.com/

1.寻找数据
F12 进去Network 调试多次,翻译后的数据放在 json里

数据放在接口下
2.找出js加密的数据
调试多次 发现这三个参数会发生变化,
3.破解js加密

观察initiator发现加载的js代码,分析代码发现加密的参数在这里

‘ts’:就是Form Data里的’lts’, 不难发现 r获取的是当前时间的毫秒数并字符串化,i获取的是 r 拼接一个随机的(0, 10)的字符串。sign是由md5加密获取。剩下的请求表单参数就很明显了。bv是md5根据浏览器的版本加密的

4.请求头部Headers
User-Agent, Referer是必须的,另外还需要加上一个Cookie值(这里不加请求错误)
5.实现代码


class youDao(object):def __init__(self, msg):self.url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'self.msg = msgself.lts = self.get_lts()self.salt = self.get_salt()self.sign = self.get_sign()def get_salt(self):return self.lts + str(random.randint(0, 10))def get_sign(self):initial = 'fanyideskweb' + self.msg + self.salt + 'Tbh5E8=q6U3EXe+&L[4c@'# 加密前需要编码 否存可能会出现TypeError: Unicode-objects must be encoded before hashingreturn md5(initial.encode('utf-8')).hexdigest()def get_lts(self):return str(int(time.time() * 1000))def get_res(self):data = {'i': self.msg,'from': 'AUTO','to': 'AUTO','smartresult': 'dict','client': 'fanyideskweb','salt': self.salt,'sign': self.sign,'lts': self.lts,'bv': '3da01a09873456cfb5dba05f2124b148','doctype': 'json','version': '2.1','keyfrom': 'fanyi.web','action': 'FY_BY_CLICKBUTTION'}headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ''(KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36','Referer': 'http://fanyi.youdao.com/','Cookie': 'OUTFOX_SEARCH_USER_ID=-610384760@10.169.0.83'}resp = requests.post(self.url, headers=headers, data=data)return resp.json()['translateResult'][0][0]['tgt']

亲测有效,本文章全系对技术的兴趣爱好,欢迎大家学习交流。

Python requests抓取有道翻译 最新版破解js加密相关推荐

  1. python爬虫 爬取有道翻译详解

    这里我们使用python的urllib来实现 首先,我们需要找到我们进行翻译时上传给服务器的数据. 我们可以通过查找审查元素中的Network这一栏目下,选择执行Post方法的选项. 在General ...

  2. Python requests 抓取网页状态返回418(亲测)

    是被网站反爬程序返回的 解决: 添加请求头headers信息 import requests   headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1 ...

  3. python爬取有道翻译

    python爬虫爬取有道翻译教程 编写环境 为了宝宝们能够正确读懂本教程,在正式开始前,宝宝们需要搭建的环境如下: 连接互联网的win10电脑,(win7也可以) Google浏览器(版本无要求) P ...

  4. python爬虫实战之爬取有道翻译

    文章目录 介绍 网页分析 代码实战 当我们学习python爬虫时我们需要做大量的练习,往后我会发布更多的python爬虫练习实战代码,进一步剖析爬虫的每一个细节 介绍 本次爬取的是有道翻译,利用pyt ...

  5. 基于python爬取有道翻译,并在线翻译

    基于python爬取有道翻译,并在线翻译 由于我也是爬虫新学者,有什么做的不对的请多加包涵 我们需要使用的库如下 from urllib import request import urllib im ...

  6. Python利用requests抓取页面源代码(基础)

    Python利用requests抓取页面源代码(基础) Requests模块是一个用于网络访问的模块. 由于使用到的requests库为第三方库,需要事先对其进行安装 1.1安装requests (1 ...

  7. Python爬虫实战,requests模块,Python实现抓取芒果TV弹幕

    前言 利用Python实现抓取芒果TV弹幕,废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: requests模块: pandas模块 以及一些Python自带 ...

  8. Python爬虫实战,requests模块,Python实现抓取腾讯视频弹幕评论

    前言 利用Python实现抓取腾讯视频弹幕,废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: requests模块: pandas模块 以及一些Python自带 ...

  9. python爬取有道翻译的代码_python 简单的调用有道翻译

    代码 import json import requests # 翻译函数,word 需要翻译的内容 def translate(word): # 有道词典 api url = 'http://fan ...

  10. Python爬虫实战,requests模块,Python实现抓取知乎热点话题

    前言 利用Python实现抓取知乎热点话题,废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: requests模块: re模块: pandas模块: lxml模 ...

最新文章

  1. 力扣(LeetCode)刷题,简单题(第4期)
  2. 青云八核服务器无限申请教程,零云旗下快速开发框架lyadmin映像使用指南(青云服务器版)...
  3. 65个技巧性回答,终身受用
  4. Confluence 6 从外部目录中同步数据配置同步间隔
  5. Spring Cloud:Eureka Server控制台
  6. 【原】TreeView+Checkbox级联操作(IE/FireFox测试通过)
  7. 如何在Angular项目里创建新的Service
  8. HTTP方法:幂等性和安全性
  9. c语言设计通讯录管理程序,C语言程序的设计学生通讯录管理系统方案.docx
  10. AngularJS控制器和过滤器学习(三)
  11. Visual Studio中的第一个Django-Python应用程序
  12. 学python能赚钱吗-在校大学生用python当爬虫一个月能赚3000吗?
  13. matlab傅里叶变换处理图像,MATLAB数字图像处理(1)基本操作和傅里叶变换
  14. Android中的Builder模式
  15. mdx词典包_译者的电子工具——手机词典上篇
  16. 基于MATLAB的图像拼接实现
  17. P1251 餐巾计划问题 解题报告
  18. RTI DDS. c++11例子 -1
  19. ER图向关系模型的转换
  20. python中test的用法_Python基础介绍 | 使用pytest进行测试

热门文章

  1. python random库 伪随机 随机抽数字 抽学号
  2. XLSTransformer 导出
  3. 硬笔行书字帖3500常用字_练字的字帖怎么选择?(硬笔)
  4. 二十六、Jcreator使用初步
  5. 计算机 怎么挂 两块 硬盘,双硬盘怎么安装?电脑双硬盘安装教程
  6. 排查DHCP(动态获取IP)服务器故障的经验 (好文推荐)
  7. java进度条_Java实现进度条开发过程
  8. fx2n4ad模块中文手册_特殊功能模块FX2N-4AD用户指南手册三菱FX2N-4AD手册 - 广州凌控...
  9. unity SDK/NDK的下载
  10. 下载网页中的html5视频之手动方法