python有道翻译-Python爬去有道翻译
注:传入的类型为POST类型,所以需要使用urllib.parse.urlencode(),将字典转换成URL可用参数;
使用json.loads(),将输出的json格式,转换为字典类型
import urllib.request
import urllib.parse
import json
content = input("请输入要翻译的内容:")
url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"
data = {}
data["i"] = content
data["from"] = "AUTO"
data["to"] = "AUTO"
data["smartresult"] = "dict"
data["client"] = "fanyideskweb"
data["salt"] = "1537624423057"
data["sign"] = "0c1989ed937485dd570fc4b5907cf567"
data["doctype"] = "json"
data["version"] = "2.1"
data["keyfrom"] = "fanyi.web"
data["action"] = "FY_BY_REALTIME"
data["typoResult"] = "false"
#因传入的类型为POST类型,所以需要将字典转换为url需要使用的参数
data = urllib.parse.urlencode(data).encode("utf-8")
response = urllib.request.urlopen(url, data)
html = response.read().decode("utf-8")
#将JSON格式转换成字典类型
translate = json.loads(html)
translate_src = translate["translateResult"][0][0]["src"]
translate_Result = translate["translateResult"][0][0]["tgt"]
print("翻译内容:%s" % translate_src)
print("翻译结果:%s" % translate_Result)
==============================使用代理访问======================================
import urllib.request
import urllib.parse
import json
while True:
content = input("请输入要翻译的内容(输入!退出):")
if content == "!":
break
url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"
data = {}
data["i"] = content
data["from"] = "AUTO"
data["to"] = "AUTO"
data["smartresult"] = "dict"
data["client"] = "fanyideskweb"
data["salt"] = "1537624423057"
data["sign"] = "0c1989ed937485dd570fc4b5907cf567"
data["doctype"] = "json"
data["version"] = "2.1"
data["keyfrom"] = "fanyi.web"
data["action"] = "FY_BY_REALTIME"
data["typoResult"] = "false"
#因传入的类型为POST类型,所以需要将字典转换为url需要使用的参数
data = urllib.parse.urlencode(data).encode("utf-8")
#---------------------------------代理---------------------------------------------------
#urllib.request.ProxyHandler的参数师一个数组
proxy_support = urllib.request.ProxyHandler({"https": "27.17.45.90:43411"})
#创建一个opener
opener = urllib.request.build_opener(proxy_support)
#添加user-agent
opener.addheaders = [("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
"AppleWebKit/537.36 (KHTML, like Gecko) "
"Chrome/69.0.3497.81 Safari/537.36")]
#全局加载代理IP
urllib.request.install_opener(opener)
#----------------------------------代理结束--------------------------------------------------
req = urllib.request.Request(url, data)
req.add_header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
"AppleWebKit/537.36 (KHTML, like Gecko) "
"Chrome/69.0.3497.81 Safari/537.36")
response = urllib.request.urlopen(req)
html = response.read().decode("utf-8")
#将JSON格式转换成字典类型
translate = json.loads(html)
translate_src = translate["translateResult"][0][0]["src"]
translate_Result = translate["translateResult"][0][0]["tgt"]
print("翻译内容:%s" % translate_src)
print("翻译结果:%s" % translate_Result)
==============================分割线===========================================
1、在运行中报{"errorCode":50},将审查元素中获取的URL里面,将translate_o的_o去掉就不会报错。
2、data["salt"] = "1537624423057" :时间戳
3、data["sign"] = "0c1989ed937485dd570fc4b5907cf567" :时间戳 + 翻译内容加密生成的字符串
4、urllib.error.URLError: ,没有连接到服务器,需要更换代理IP
5、urllib.error.HTTPError: HTTP Error 403: Forbidden:需要添加user-agent
python有道翻译-Python爬去有道翻译相关推荐
- python有道-Python爬去有道翻译
注:传入的类型为POST类型,所以需要使用urllib.parse.urlencode(),将字典转换成URL可用参数: 使用json.loads(),将输出的json格式,转换为字典类型 impor ...
- python爬虫有道词典_Python爬取有道词典,有道的反爬很难吗?也就这样啊!
前言 大家好 最近python爬虫有点火啊,啥python爬取马保国视频--我也来凑个热闹,今天我们来试着做个翻译软件--不是不是,说错了,今天我们来试着提交翻译内容并爬取翻译结果 主要内容 PS ...
- python爬取有道词典_Python爬取有道词典
from urllib import request,parse import hashlib import random import time import json #定义md5加密函数 def ...
- 懒人动手,用python做一个基础翻译重命名器(破解百度翻译反爬手段)
想法: 在做开发的时候,经常需要命名各种变量,方法/函数,类,包,库等. 走一遍流程就是:想好要起的名字,比如"非常帅气": 然后上翻译网站,比如百度翻译,有道翻译: 将中文输入并 ...
- 013:实战爬取三个翻译网站掌握Ajax表单提交
本篇内容由易到难,涉及到ajax-form表单数据提交及md5解密 一共有三个翻译网络.我们要实现的是找到翻译的接口,打造我们自己的翻译软件.首先是 爬取百度翻译: 打开百度翻译,来获取我们的url ...
- python爬取有道词典_利用Python3和Charles爬取有道词典,生成翻译exe单文件
感觉挺好玩的,所以就转了,但我也做了定制化. 原文: 一.用Charles爬取数据(Windows用Fiddler也差不多) Charles是一个多平台的抓包工具,可以很方便的抓取http和https ...
- python实战:利用chrome抓包插件HTTP间谍分析有道翻译反爬机制
本次实战目标站点:http://fanyi.youdao.com/?keyfrom=fanyi-new.logo ,主要利用HTTP间谍抓包插件分析有道翻译反爬机制,该抓包能帮我们过滤掉一些不需要的常 ...
- python有道翻译-使用python2爬取有道翻译
爬虫的核心思想:模拟浏览器正常访问服务器,一般情况只要浏览器能访问的,都可以爬,如果被反爬,则考虑反复测试添加Request Header数据,知道可以爬取为止. 反爬思路目前知道的有:User-Ag ...
- python有道翻译法语-使用python2爬取有道翻译
爬虫的核心思想:模拟浏览器正常访问服务器,一般情况只要浏览器能访问的,都可以爬,如果被反爬,则考虑反复测试添加Request Header数据,知道可以爬取为止. 反爬思路目前知道的有:User-Ag ...
最新文章
- Asp.net控件开发学习笔记(三)-控件开发基础
- PHP6 Web 开发读书笔记
- XML与Webservices相关的安全问题概述
- WCF加密操作(包括证书和证书+帐号密码)
- MAVEN约定的目录结构
- linux 如何格式化ext2,Linux的Ext2文件系统(InodeBlock)详解
- 首期openGauss训练营结营,48个FAQ和全部PPT通通给你,随附62人结营学员名单
- 求一个任意实数c的算术平方根g_中考总复习实数知识点
- linux服务sendmail邮件服务
- 用JEP+SpringBoot进行动态公式处理计算
- rpc服务器不可用处于启用状态,电脑提示RPC服务器不可用怎么办?
- 线程池引发的故障到底该怎么排查?
- 某公司对新员工的公开信
- selenium firefox 启动报错 Timed out wating 45 seconds for firefox to start
- html页面中艺术字,html 生成艺术字
- win10系统的定位服务器,系统大神教你Win10笔记本电脑定位跟踪功能技巧
- uniapp MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 upgrade listeners
- 中英文翻译功能 php,PHP微信开发之翻译功能
- 核范数与规则项参数选择
- 读《一个人的朝圣》| 沾染上称为信仰的东西,都会不一样