python爬虫实例——基于python实现有道云翻译接口
# 分析包
# 分析post请求中参数
# 使用python模拟lts、sign、salt参数运算
# 执行结果
> > 1、按F12对网页进行分析,填写内容后自动翻译的功能一般是通过ajax实现的,所以可以有目的的对xhr包进行筛选,如果不知道这个点也可以一个个包进行查看分析,找包里面有需要翻译的内容和翻译结果
> > 2、分析发送请求中参数的参数,发送两次请求也就是翻译两次,对两次的包进行分析,可以发现每次发送的请求中salt、sign、lts的数据都不同,所以该网站可能是通过js对这些数据进行了处理
> > 3、寻找到这些参数运算的过程。点击Initiator(表示连接由谁发起),找到另一个包,在该包中分析salt、lts、sign运算过程
> 这里需要一些js知识,但一般学过其他语言也可以很清楚发现 lts是时间戳
> salt是在==时间戳后面==随机加上一个0-9的数字
> sign是对“fanyideskweb”+ e + i +"Y2FYu%TNSbMCxc3"进行==hash==运算,然后回看发送请求中sign的参数,发现他是16进制,所以最终结果我们也要以16进制展现
> e是我们输入的需要翻译的内容,i和salt相同 看不懂代码的话可以复制代码到console中看运算结果,例:
==e==可以通过设置断点来判断,断点设置好后,再翻译一次,然后把鼠标箭头放在e上,可以很明显的发现e的取值与我们输入的内容相同
到现在,我们把发送post请求需要的所有参数找到了,然后就是用python模拟这些参数的运算。
> > 4、模拟lts、salt、sign参数运算
模拟lts,lts是时间戳
使用time模块就行了
```python
lts = int(round(time.time()*1000))
```
模拟salt,salt是时间戳后面加上一个0-9的随机数
```python
salt = str(lts) + str(random.randint(0,9))
```
模拟sign,需要使用到hashlib库(自带的库不用安装)
```python
#创建hash对象
md5 = hashlib.md5()
#向hash对象中加入需要hash运算的字符串
n = 'fanyideskweb' + self.kw + salt + 'Y2FYu%TNSbMCxc3t2u^XT'
md5.update(n.encode())
#转换成16进制
sign = md5.hexdigest()
```
5、执行结果
python爬虫实例——基于python实现有道云翻译接口相关推荐
- python 爬虫实例 电影-Python爬虫教程-17-ajax爬取实例(豆瓣电影)
Python爬虫教程-17-ajax爬取实例(豆瓣电影) ajax: 简单的说,就是一段js代码,通过这段代码,可以让页面发送异步的请求,或者向服务器发送一个东西,即和服务器进行交互 对于ajax: ...
- python爬虫实例教程-Python网络爬虫实例教程(视频讲解版)
第1章 网络爬虫概述 1 1.1 认识网络爬虫 1 1.1.1 网络爬虫的含义 1 1.1.2 网络爬虫的主要类型 2 1.1.3 简单网络爬虫的架构 3 1.1.4 网络爬虫的应用场景 3 1.2 ...
- 【Python爬虫实例】Python解决521反爬方案
参考文献:https://github.com/xiantang/Spider/blob/master/Anti_Anti_Spider_521/pass_521.py 写在前面的话:Python在爬 ...
- 【教程+实例】Python爬虫实例——用Python爬虫爬取bangumi上的galgame资讯
文章目录 0.前言 1.什么是爬虫? 2.什么东西可以爬? 3.简易爬虫示例 4.如何筛选数据? 5.正则表达式 6.最终代码 如何修改代码,以适应自己的需求 效果截图 7.彩蛋 本人与知乎用户间宫羽 ...
- python爬虫实例教程-python动态爬虫的实例分享
本文主要和大家分享python动态爬虫的实例分享,用Python实现常规的静态网页抓取时,往往是用urllib2来获取整个HTML页面,然后从HTML文件中逐字查找对应的关键字.如下所示:#encod ...
- python爬虫实例解析-Python(爬虫)- 动态加载案例分析
requests """ 基于网络请求的模块. 环境的安装:pip install requests 作用:模拟浏览器发起请求 分析requests的编码流程: 1.指定 ...
- python 爬虫实例 电影-Python爬虫入门实战之猫眼电影数据抓取(实战篇)
电影名 上映信息 综合票房 票房占比 累计票房
- Python爬虫实例(3)--BeautifulSoup的CSS选择器
Python爬虫实例 紧接着上一讲的内容. 我们初步了解了bs4这个解析库. 但是bs4难道只有find,find_all了吗? 如果层次比较深,相似的元素比较多,和可能会写的比较长. 最主要的是很难 ...
- Python爬虫实例:自制翻译机(简单)
文章目录 Python爬虫实例:自制翻译机 要求实现功能:用户输入英文或中文,程序即可打印出来对应的译文. 步骤 解决反爬 上码 加界面 结果展示 Python爬虫实例:自制翻译机 一起试试爬取有道翻 ...
最新文章
- 程序员笔试面试后上机_2021年国考笔试成绩查询后,面试准备阶段需要做好四方面...
- (剑指Offer)面试题18:树的子结构
- 投资股权众筹项目,至少需要关注6个方面
- apt-get无法获取kubelet kubeadm kubectl包
- 微信小程序 自定义组件(stepper)
- E4/EAS/Eventing System 事件系统
- Illustrator 教程,如何在 Illustrator 中重新塑造文本?
- Linux 网络安全技巧
- sqlserver去重记录_SQL去除重复记录(七种)
- redis tutorial
- 通达信 python_python 适用通达信
- 高中计算机基础知识课件,高中信息技术基础教案
- 详解电脑机械硬盘装什么系统好
- win10服务器文件夹显示不全,Win10系统文件/文件夹图标显示不正常的解决方法
- 发射光功率和接收灵敏度对光模块的实际使用有什么影响?
- 鸿蒙只是电视机,荣耀智慧屏首发抢先体验:电视只是小功能,鸿蒙系统才是真亮点...
- 【89元】爱乐生 上臂式语音电子血压计测量仪 家用医用全自动智能大屏 老人尊享 LZX-B1681-C标准款...
- JavaScript中实现键值对的方法
- java定义类模板_定义模板——函数模板和类模板
- Wiener Filtering
热门文章
- 冯洛伊曼计算机工作原理的设计思想是,冯诺依曼计算机工作原理的设计思想是...
- MySQL性能优化,索引优化
- 2012.5.6微博热报:单元测试覆盖率、雅虎管理结构改革
- CUDA error: out of memory
- μVision Keil-MDK在仿真的时候出现了Encountered an improper argument的错误问题
- 高中数学必修一函数及其表示知识点
- vue如何使用mockjs摸拟接口数据
- Thinkphp5 集成 Swoole
- a = a || []
- CCCC L2-007. 家庭房产 建图 XJB模拟