Python requests抓取有道翻译 最新版破解js加密
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加密相关推荐
- python爬虫 爬取有道翻译详解
这里我们使用python的urllib来实现 首先,我们需要找到我们进行翻译时上传给服务器的数据. 我们可以通过查找审查元素中的Network这一栏目下,选择执行Post方法的选项. 在General ...
- Python requests 抓取网页状态返回418(亲测)
是被网站反爬程序返回的 解决: 添加请求头headers信息 import requests headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1 ...
- python爬取有道翻译
python爬虫爬取有道翻译教程 编写环境 为了宝宝们能够正确读懂本教程,在正式开始前,宝宝们需要搭建的环境如下: 连接互联网的win10电脑,(win7也可以) Google浏览器(版本无要求) P ...
- python爬虫实战之爬取有道翻译
文章目录 介绍 网页分析 代码实战 当我们学习python爬虫时我们需要做大量的练习,往后我会发布更多的python爬虫练习实战代码,进一步剖析爬虫的每一个细节 介绍 本次爬取的是有道翻译,利用pyt ...
- 基于python爬取有道翻译,并在线翻译
基于python爬取有道翻译,并在线翻译 由于我也是爬虫新学者,有什么做的不对的请多加包涵 我们需要使用的库如下 from urllib import request import urllib im ...
- Python利用requests抓取页面源代码(基础)
Python利用requests抓取页面源代码(基础) Requests模块是一个用于网络访问的模块. 由于使用到的requests库为第三方库,需要事先对其进行安装 1.1安装requests (1 ...
- Python爬虫实战,requests模块,Python实现抓取芒果TV弹幕
前言 利用Python实现抓取芒果TV弹幕,废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: requests模块: pandas模块 以及一些Python自带 ...
- Python爬虫实战,requests模块,Python实现抓取腾讯视频弹幕评论
前言 利用Python实现抓取腾讯视频弹幕,废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: requests模块: pandas模块 以及一些Python自带 ...
- python爬取有道翻译的代码_python 简单的调用有道翻译
代码 import json import requests # 翻译函数,word 需要翻译的内容 def translate(word): # 有道词典 api url = 'http://fan ...
- Python爬虫实战,requests模块,Python实现抓取知乎热点话题
前言 利用Python实现抓取知乎热点话题,废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: requests模块: re模块: pandas模块: lxml模 ...
最新文章
- 力扣(LeetCode)刷题,简单题(第4期)
- 青云八核服务器无限申请教程,零云旗下快速开发框架lyadmin映像使用指南(青云服务器版)...
- 65个技巧性回答,终身受用
- Confluence 6 从外部目录中同步数据配置同步间隔
- Spring Cloud:Eureka Server控制台
- 【原】TreeView+Checkbox级联操作(IE/FireFox测试通过)
- 如何在Angular项目里创建新的Service
- HTTP方法:幂等性和安全性
- c语言设计通讯录管理程序,C语言程序的设计学生通讯录管理系统方案.docx
- AngularJS控制器和过滤器学习(三)
- Visual Studio中的第一个Django-Python应用程序
- 学python能赚钱吗-在校大学生用python当爬虫一个月能赚3000吗?
- matlab傅里叶变换处理图像,MATLAB数字图像处理(1)基本操作和傅里叶变换
- Android中的Builder模式
- mdx词典包_译者的电子工具——手机词典上篇
- 基于MATLAB的图像拼接实现
- P1251 餐巾计划问题 解题报告
- RTI DDS. c++11例子 -1
- ER图向关系模型的转换
- python中test的用法_Python基础介绍 | 使用pytest进行测试
热门文章
- python random库 伪随机 随机抽数字 抽学号
- XLSTransformer 导出
- 硬笔行书字帖3500常用字_练字的字帖怎么选择?(硬笔)
- 二十六、Jcreator使用初步
- 计算机 怎么挂 两块 硬盘,双硬盘怎么安装?电脑双硬盘安装教程
- 排查DHCP(动态获取IP)服务器故障的经验 (好文推荐)
- java进度条_Java实现进度条开发过程
- fx2n4ad模块中文手册_特殊功能模块FX2N-4AD用户指南手册三菱FX2N-4AD手册 - 广州凌控...
- unity SDK/NDK的下载
- 下载网页中的html5视频之手动方法