python爬虫实例——基于python实现有道云翻译接口

时间:2022-01-20 21:47:49

# 分析包
# 分析post请求中参数
# 使用python模拟lts、sign、salt参数运算
# 执行结果
> > 1、按F12对网页进行分析,填写内容后自动翻译的功能一般是通过ajax实现的,所以可以有目的的对xhr包进行筛选,如果不知道这个点也可以一个个包进行查看分析,找包里面有需要翻译的内容和翻译结果

python爬虫实例——基于python实现有道云翻译接口

python爬虫实例——基于python实现有道云翻译接口

python爬虫实例——基于python实现有道云翻译接口

python爬虫实例——基于python实现有道云翻译接口

> > 2、分析发送请求中参数的参数,发送两次请求也就是翻译两次,对两次的包进行分析,可以发现每次发送的请求中salt、sign、lts的数据都不同,所以该网站可能是通过js对这些数据进行了处理

python爬虫实例——基于python实现有道云翻译接口

python爬虫实例——基于python实现有道云翻译接口

> > 3、寻找到这些参数运算的过程。点击Initiator(表示连接由谁发起),找到另一个包,在该包中分析salt、lts、sign运算过程

python爬虫实例——基于python实现有道云翻译接口

python爬虫实例——基于python实现有道云翻译接口

> 这里需要一些js知识,但一般学过其他语言也可以很清楚发现 lts是时间戳
> salt是在==时间戳后面==随机加上一个0-9的数字
> sign是对“fanyideskweb”+ e + i +"Y2FYu%TNSbMCxc3"进行==hash==运算,然后回看发送请求中sign的参数,发现他是16进制,所以最终结果我们也要以16进制展现
> e是我们输入的需要翻译的内容,i和salt相同 看不懂代码的话可以复制代码到console中看运算结果,例:

python爬虫实例——基于python实现有道云翻译接口

==e==可以通过设置断点来判断,断点设置好后,再翻译一次,然后把鼠标箭头放在e上,可以很明显的发现e的取值与我们输入的内容相同
python爬虫实例——基于python实现有道云翻译接口

python爬虫实例——基于python实现有道云翻译接口

到现在,我们把发送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实现有道云翻译接口的更多相关文章

  1. 有道云翻译接口 Show类

    package com.yangchong.fanyi; import java.awt.EventQueue;import java.awt.Toolkit; import javax.swing. ...

  2. Python爬虫实例:爬取B站《工作细胞》短评——异步加载信息的爬取

    很多网页的信息都是通过异步加载的,本文就举例讨论下此类网页的抓取. <工作细胞>最近比较火,bilibili 上目前的短评已经有17000多条. 先看分析下页面 右边 li 标签中的就是短 ...

  3. Python爬虫实例:爬取猫眼电影——破解字体反爬

    字体反爬 字体反爬也就是自定义字体反爬,通过调用自定义的字体文件来渲染网页中的文字,而网页中的文字不再是文字,而是相应的字体编码,通过复制或者简单的采集是无法采集到编码后的文字内容的. 现在貌似不少网 ...

  4. Python爬虫实例:爬取豆瓣Top250

    入门第一个爬虫一般都是爬这个,实在是太简单.用了 requests 和 bs4 库. 1.检查网页元素,提取所需要的信息并保存.这个用 bs4 就可以,前面的文章中已经有详细的用法阐述. 2.找到下一 ...

  5. python爬虫-基础入门-python爬虫突破*

    python爬虫-基础入门-python爬虫突破* >> 相关概念 >> request概念:是从客户端向服务器发出请求,包括用户提交的信息及客户端的一些信息.客户端可通过H ...

  6. Python 爬虫实例

    下面是我写的一个简单爬虫实例 1.定义函数读取html网页的源代码 2.从源代码通过正则表达式挑选出自己需要获取的内容 3.序列中的htm依次写到d盘 #!/usr/bin/python import ...

  7. python爬虫实例大全

    WechatSogou [1]- 微信公众号爬虫.基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典. DouBanSpider [2]- ...

  8. shell及Python爬虫实例展示

    1.shell爬虫实例: [root@db01 ~]# vim pa.sh #!/bin/bash www_link=http://www.cnblogs.com/clsn/default.html? ...

  9. 又面试了Python爬虫工程师,碰到这么几道面试题,Python面试题No9

    第1题:动态加载又对及时性要求很高怎么处理? 如何知道一个网站是动态加载的数据? 用火狐或者谷歌浏览器 打开你网页,右键查看页面源代码,ctrl +F 查询输入内容,源代码里面并没有这个值,说明是动态 ...

随机推荐

  1. November 3rd Week 45th Thursday 2016

    Shared joy is a double joy, the same as your gift and idea. 与人分享,欢乐.灵感加倍. As a coder, I must work wi ...

  2. Shell命令&lowbar;smem

    监控各个进程.用户的内存使用情况 基础条件:需要安装yum工具 centos 7.0 1.安装smem [root@VM_31_182_centos src]# yum install smem py ...

  3. HAOI2012音量调节

    Description 一个吉他手准备参加一场演出.他不喜欢在演出时始终使用同一个音量,所以他决定每一首歌之前他都要改变一次音量.在演出开始之前,他已经做好了一个列表,里面写着在每首歌开始之前他想要改 ...

  4. git工作流程

    git工作流程 一般工作流程如下: 克隆 Git 资源作为工作目录. 在克隆的资源上添加或修改文件. 如果其他人修改了,你可以更新资源. 在提交前查看修改. 提交修改. 在修改完成后,如果发现错误,可 ...

  5. py零散知识点

    变量之间的赋值是公用一个地址比如 a = 3 b = a b和a用的是一个地址 在Python中 b = a.copy() a和b就不是一个地址了 -------------------------- ...

  6. &period;resources文件转&period;resx 文件

    最近在进行.net winform应用程序的反向工程,资源文件反向出来后都是.resources文件,工程编译和运行都没有问题,但.resources文件为二级制文件,无法在Visual Studio ...

  7. gson在java和json串之间的应用

    public class JsonToJavaUtil { /** * 将json转成成javaBean对象 * * @param <T> * 返回类型 * @param json * 字 ...

  8. using System&period;Threading&semi;

    /// <summary> /// 执行动作:耗时而已 /// </summary> private void TestThread(string threadName) { ...

  9. log file sync

    Recently, our application system has updated one app. I receive a email of complain the db server ch ...

  10. C&num;Winform窗口特效源码&lpar;1&rpar;

    本文基于.Net开发,使用C#作为开发语言,分别包含以下效果: 移动无边框窗口.窗口移动限制(限制在屏幕内).桌面贴边自动隐藏(仿QQ隐藏窗口) 1.移动无边框窗口 采用了消息的方式,可以实现通过窗口 ...