python如何爬有道翻译_python 爬有道翻译
python 爬有道翻译
在有道翻译页面中打开开发者工具, 在 Headers 板块找到 Request URL 以及相应的 data.importurllib.request
importurllib.parse
importJSON
content=input('请输入需要翻译的内容:')
#_o 要去掉, 否则会出先 error_code:50 的报错
url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
data={
}
# 开发者工具里有, i 和 doctype 键不可少
data['i']=content
data['from']='AUTO'
data['to']='AUTO'
data['smartresult']='dict'
data['client']='fanyideskweb'
data['salt']='15695569180611'
data['sign']='5b0565493d812bc5e713b895c12d615d'
data['doctype']='json'
data['version']='2.1'
data['keyfrom']='fanyi.web'
data['action']='FY_BY_REALTTIME'
# 将字典类型的请求数据转化为 url 编码, 并将编码类型转变为'utf-8'类型
data=urllib.parse.urlencode(data).encode('utf-8')
# 向 url 请求 data 的响应结果
response=urllib.request.urlopen(url,data)
# 读取返回数据内容, decode 是转换返回数据的格式为 str
=response.read().decode('utf-8')
# 使用 JSON 将字符串转化成字典
target=JSON.loads(HTML)
# 结果在 key='translateResult'的三层列表的 key='tgt'中
print("翻译结果:%s"%(target['translateResult'][0][0]['tgt']))
上面这种很大可能被有道网页给识别出来不是人工在访问, 而是代码在访问.
此时我们可以加个'User-Agent'代理. 通过设置 User Agent 来达到隐藏身份的目的, 一般情况下浏览器是通过 User-Agent 来识别的.
通过调用 urllib.request.Request() 来设置 UA.classurllib.request.Request(url,data=None,headers={
},origin_req_host=None,unverifiable=False,method=None)
Thisclassisan abstractionofa URL request.
url should be a string containing a valid URL.
headers should be a dictionary #headers 要为字典
有两种方法设置 User Agent:
1. 在创建 Request 对象的时候, 填入 headers 参数 (包含 User Agent 信息), 这个 Headers 参数要求为字典;
2. 在创建 Request 对象的时候不添加 headers 参数, 在创建完成之后, 使用 add_header() 的方法, 添加 headers.importurllib.request
importurllib.parse
importJSON
importtime
whileTrue:
content=input('请输入需要翻译的内容 (输入"q! 退出程序 "):')
ifcontent=='q!':
break;
#_o 要去掉, 否则会出先 error_code:50 的报错
url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
'''
第一种方法
head={}
head['User-Agent']='Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/65.0.3325.181Safari/537.36'
'''
data={}
#开发者工具里有, i 和 doctype 键不可少
data['i']=content
data['from']='AUTO'
data['to']='AUTO'
data['smartresult']='dict'
data['client']='fanyideskweb'
data['salt']='15695569180611'
data['sign']='5b0565493d812bc5e713b895c12d615d'
data['doctype']='json'
data['version']='2.1'
data['keyfrom']='fanyi.web'
data['action']='FY_BY_REALTTIME'
#将字典类型的请求数据转化为 url 编码, 并将编码类型转变为'utf-8'类型
data=urllib.parse.urlencode(data).encode('utf-8')
'''
第一种方法
req=urllib.request.Request(url,data,head)
'''
#第二种方法设置 User Agent
#创建 Request 对象
req=urllib.request.Request(url,data)
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36')
#传入创建好的 Request 对象
response=urllib.request.urlopen(req)
#读取响应信息并解码
HTML=response.read().decode('utf-8')
#使用 JSON 将字符串转化成字典
target=JSON.loads(HTML)
#结果在 key='translateResult'的三层列表的 key='tgt'中
print("翻译结果:%s"%(target['translateResult'][0][0]['tgt']))
#5 秒一次
time.sleep(5)
来源: http://www.bubuko.com/infodetail-3216295.html
python如何爬有道翻译_python 爬有道翻译相关推荐
- python爬取豆瓣书籍_Python 爬取豆瓣读书标签下的书籍
这几天想爬下豆瓣读书时发现 github 上他人分享的源码都有一定年份了,豆瓣读书的页面貌似也稍微改了,于是就在前人轮子的基础上改进一下重新爬下豆瓣读书.Python 版本是 3.7. 1.爬取信息 ...
- python爬取手机微信_Python爬取微信好友
前言 今天看到一篇好玩的文章,可以实现微信的内容爬取和聊天机器人的制作,所以尝试着实现一遍,本文记录了实现过程和一些探索的内容 itchat安装 对微信的控制可以使用itchat来实现,我们找到itc ...
- python爬取天气数据_Python爬取历史天气数据
Python爬取历史天气数据 作者:梅昊铭 1. 导读 之前Mo给大家分享过杭州历年天气情况的数据集,相信有不少小伙伴好奇这些数据是怎么获取.今天Mo就来教大家如何使用Python来进行历史天气数据的 ...
- python爬取历史天气_Python 爬取历史天气数据
Python 爬取历史天气数据 作者:梅昊铭 1. 导读 之前Mo给大家分享过杭州历年天气情况的数据集,相信有不少小伙伴好奇这些数据是怎么获取.今天Mo就来教大家如何使用Python来进行历史天气数据 ...
- python运行界面英文翻译_python使用百度api翻译中英文
python使用百度api翻译中英文 写程序取变量名的时候,常常需要翻译单词,或者将中文翻译成英语.有道词典,必应词典都很好,可是...命令行习惯了还是觉得用在cmd里面调出程序使用起来也许会更爽.于 ...
- python英译汉库模块_Python 进阶之路-翻译模块
Python 进阶之路-翻译模块 作者:nango 阅读:1749次 来源:原创 时间:2017-07-14 17:09 Git 地址 [python 翻译模块](https://github. ...
- python爬虫有道词典_Python爬取有道词典,有道的反爬很难吗?也就这样啊!
前言 大家好 最近python爬虫有点火啊,啥python爬取马保国视频--我也来凑个热闹,今天我们来试着做个翻译软件--不是不是,说错了,今天我们来试着提交翻译内容并爬取翻译结果 主要内容 PS ...
- python爬取有道词典_python 爬虫+有道词典实现一个简单翻译程序
#coding=utf-8 importurllibimporturllib2importjson'''功能说明: 根据输入要翻译的文字,进行有道自动翻译: 实现中文->英文.英语及其他语言-& ...
- python爬取有道词典_Python爬取有道词典
from urllib import request,parse import hashlib import random import time import json #定义md5加密函数 def ...
- python利用有道词典翻译_Python利用有道词典接口制作即时翻译的工具
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于Python 实用宝典,作者Python 实用宝典 前言 在编程时经 ...
最新文章
- 反式自动微分autodiff是什么?反向传播(Back Propagation)是什么?它是如何工作的?反向传播与反式自动微分autodiff有什么区别?
- 光纤会在将来完全取代铜缆吗?
- context switch的切换过程(TTBR0的切换/ASID的介绍)
- 【Python】Pandas 数据类型概述与转换实战
- ReactNative ES6简介 及基本语法第一篇
- jar打包 剔除第三方依赖以及它的依赖_为什么Spring Boot的 jar 可以直接运行?
- iPhone走马灯控件实现
- jenkins docker 自动部署 构建_jenkins+docker+vue项目的自动部署环境
- java好学还是ui好学_java编程和ui设计哪个好学?
- python encode gbk_[转]Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法
- vue(vue-cli+vue-router)+babel+webpack项目搭建入门 (第二步)
- 会做饭的机器人曰记_做饭机器人作文作文300字
- mysql创建用户navicat_14MYSQL创建用户和授权、15Navicat的使用、16-pymysql模块的使用、17-索引...
- c语言强制停止程序,C语言实现程序的暂停
- 从零开始学数据库-MySQL
- C语言结构体struct
- 怎样使用迅雷提高下载速度
- python练手经典100例项目-Python 的练手项目有哪些值得推荐?
- 稀疏表示 河流多元信息处理 matlab
- C语言编程答案保留三位小数,如何用c语言求倒数,保留3位有效数字
热门文章
- hash_map C++
- IT行业都有什么职位?
- 缥缈峰--JVM系列之内存区域
- 关于Android studio在ubuntu中真机测试运行出现Gradle build daemon disappeared unexpectedly的一个原因及解决办法
- prefetch_related和select_related的区别
- 数据库原理与应用~第三版课后习题答案(何玉洁 编著)
- 什么是GC,GC是什么意思?为什么要有GC?
- linux查看gc日志,GC通用日志解读
- 影响国债收益率的因素
- 基于C#和OpenVINO在英特尔独立显卡上部署PP-TinyPose模型