python爬取有道翻译的代码_有道翻译的爬取
有道翻译的爬取
Python作为爬虫的强大人尽皆知,一个人不使用python爬取些什么,那么他的Python生涯一定是不完整的,这里简单写一下用Python爬取有道翻译的教程。
关于有道翻译的爬取网上链接很多,这里爬取的时候发现有道反爬虫机制有一个小bug,直接绕过就可以了。
话不多说,现在开始。
一 服务器数据的获取
右击检查、点击network
在翻译框输入任意字符后点击headers
将每一项挨个点开,寻找post项(浏览器向服务器返回数据一项)
这里得到返回的服务器地址:
向服务器返回的数据向下拖可以看到:
这些数值将以字典形式返回到服务器。其中(salt,sign,ts,bv)四种形式为反爬虫机制需要的数据,我们把它删去就好(为什么这个反爬虫没生效?)
改为:
二 python代码的书写
由于urllib自带对返回数据的处理,我们只需要将返回值以字典的形式传入,并且通过
Data=urllib.parse.urlencode(dir)即可对数据进行处理,生成返回值
通过request.Urlopen返回一个字典:
用json处理后读取即可
三 结果如下图
本人在此处还搭配了itchat,实现微信的简单翻译。
四 源码如下
fromurllib importrequest
importurllib
importjson
importitchat,os,pinyin,shutil
fromitchat.content import*
defyoudao_tran(tran_word):
url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'data={'i':tran_word,
'from':'AUTO',
'to':'AUTO',
'smartresult':'dict',
'client':'fanyideskweb',
'doctype':'json',
'version':'2.1',
'keyfrom':'fanyi.web',
'action':'FY_BY_REALTIME',
'typoResult':'false'}
data=urllib.parse.urlencode(data).encode('utf-8')
responce=request.urlopen(url,data)
reply=json.loads(responce.read().decode(encoding='utf-8'))['translateResult'][0][0]['tgt']
print(reply)
returnreply
@itchat.msg_register(TEXT)#只对文本信息进行操作defauto_reply(msg):
ifmsg['Text'].split(':')[0]=='翻译':
defaultReply = youdao_tran(msg['Text'].split(':')[1])
returndefaultReply
# 为了让实验过程更加方便(修改程序不用多次扫码),我们使用热启动itchat.auto_login(hotReload=True)#生成Qcode码,扫描成功即可登录网页版微信itchat.run()
python爬取有道翻译的代码_有道翻译的爬取相关推荐
- python爬取有道翻译的代码_使用python2爬取有道翻译
爬虫的核心思想:模拟浏览器正常访问服务器,一般情况只要浏览器能访问的,都可以爬,如果被反爬,则考虑反复测试添加Request Header数据,知道可以爬取为止. 反爬思路目前知道的有:User-Ag ...
- idea 划词就能翻译的插件_划词翻译插件下载-划词翻译Chrome插件-独木成林
划词翻译Chrome插件是一款强大的电脑翻译工具,它基于谷歌Chrome内核,可以帮助用户进行国内外多种语音的翻译操作,拥有百度翻译.有道翻译和谷歌翻译等多种翻译引擎,支持中外文互译,并且多种文档都有 ...
- 禅道开源版用户手册_禅道集成 - ZDOO基础版使用手册 - ZDOO - 全面支持阿米巴的全协同管理软件...
ZDOO2.7版本开始增加了禅道集成功能(需要配合禅道基础版7.4以上或企业版5.0以上版本,禅道亦不需要额外安装插件). 集成禅道后可以使用ZDOO账户去登录禅道,将禅道作为ZDOO的一个应用,在Z ...
- python爱心代码_百度搜索指数的爬取方法及代码
最近几年经常在各平台看到有关「搜索指数动态排行」的视频,比如「青春有你2」决赛前一周,我在B站上传了一段「青你2」和「创造营2020」的人气选手指数动态榜的视频: 「青春有你2」VS「创造营2020」 ...
- git 拉取远程其他分支代码_【记录】git 拉取远程分支代码,同步到另一个git上...
最近有需求从某git 上拉取所有分支代码同步到另一git上,现记录操作步骤,以便日后使用: 1:先克隆其中一个分支代码到本地环境 git clone -b test http://账号:密码@XXX. ...
- 有道词典java下载手机版下载手机版_有道词典app下载_有道词典在线翻译下载安装手机版v9.08...
有道词典app是网易开发设计的一款手机免费翻译软件,专为用户打造的移动翻译词典运用.网易有道词典APP是一款提供多种语系翻译,大量语汇任你查,汇聚wiki百科.百度百科内容,包揽2000万百科词条,更 ...
- python模拟蚂蚁森林能量产生过程代码_用Python实现定时自动化收取蚂蚁森林能量,再也不用担心忘记收取了...
1. 概述 提到蚂蚁森林,大家应该都知道,你是否有因忘记收取能量而被好友收取的经历呢? 如果你不是蚂蚁森林重度用户,被别人收取了能量可能对你来说没什么. 但如果你是蚂蚁森林重度用户,遇到能量被偷 .. ...
- python 图像分析自然纹理方向与粗细代码_数字图像处理与Python实现笔记之基础知识...
数字图像处理与Python实现笔记之基础知识 摘要 绪论 1 数字图像处理基础知识 1.1 数字图像简介 1.1.1 数字图像处理的目的 1.1.2 数字图像处理的应用 1.1.3 数字图像处理的特点 ...
- python md5加密和统一社会信用代码_统一社会信用代码校验位python实现
18位统一代码最后一位计算方法如下: ``` def unioncode_checknum(code): alpha_to_num_map={'A':10,'B':11,'C':12,'D':13,' ...
- 禅道设置bug模板_禅道项目管理软件bug过滤剧本
新公司运用禅道作bug治理体系.每次产物上线的时刻,一切的测试职员测试出bug之就就提在禅道上. 由于我们公司现在的测试只要一个,就把许多产物拉来充数.他们分不清bug和需求.所以每每涌现的状况是一大 ...
最新文章
- oracle 左取,oracle 取子串(转)
- c语言程序设计实验实训教程公众号,C语言程序设计基础知道答案公众号
- 'display','position'和'float'相互关系
- 7.2. cvs login | logout
- 20200621每日一句
- 课改 计算机 论文,计算机论文 计算机应用课改分析
- 好玩的软件 Aura 模拟自然界中的音效,让你置身大自然。
- 录制软件Bandicam安装教程
- pandas数据分析之分组聚合
- 用PS把人物皮肤处理的质感又通透
- const的意义及作用
- 体系结构实验(4)—— Tomasulo算法
- svn提交报错Unexpected HTTP status 413 'Request Entity Too Large' on
- donet还是java
- Server 2019 BPS Provisioning GPT DAX
- 你现在无法访问 blog.csdn.net,因为网站使用的是 hsts。网络错误和攻击通常是暂时
- matlab tikz,TeX系列: matlab2tikz--matlab图形数据转化为tikz命令
- 上传文件500 -内部服务器错误,怎样上传文件
- openlayers摸爬滚打 3.图层layer和feature的学习和简单例子
- C语言线程关闭会释放自动释放,[求助]关于C语言多线程内存释放的问题