爬虫百度翻译
import urllib.requestimport urllib.parse
url = 'https://fanyi.baidu.com/v2transapi?from=zh&to=en'
data = {}
data['from'] = 'zh'
data['to'] = 'en'
data['query'] = '我爱你'
data['transtype'] = 'translang'
data['simple_means_flag'] = '3'
data['sign'] = '47194.285547'
data['token'] = 'ddbdca26bb267869a292ad31eee630df'
data['domain'] = 'common'
data = urllib.parse.urlencode(data).encode('utf-8')
response = urllib.request.urlopen(url, data)
html = response.read().decode('utf-8')
print(html)
报错如下:
{"errno":998,"errmsg":"\u672a\u77e5\u9519\u8bef","query":"\u6211\u7231\u4f60","from":"zh","to":"en","error":998}
没撤了还请各位大佬指教{:5_109:} 本帖最后由 小伤口 于 2021-3-15 23:48 编辑
之前用urllib爬百度翻译,我也没爬到
还是有道吧 import urllib.request
import urllib.parse
import json
from tkinter import*
class Youdao:
i=0
def cut(editor, event=None):
editor.event_generate("<<Cut>>")
def copy(editor, event=None):
editor.event_generate("<<Copy>>")
def paste(editor, event=None):
editor.event_generate('<<Paste>>')
def rightKey(event, editor):
menubar.delete(0,END)
menubar.add_command(label='剪切',command=lambda:cut(editor))
menubar.add_command(label='复制',command=lambda:copy(editor))
menubar.add_command(label='粘贴',command=lambda:paste(editor))
menubar.post(event.x_root,event.y_root)
def youdao():
ent2.delete(1.0,'end')
content=ent.get(1.0,'end')
a=[]
url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
head={}
head['User-Agent']='Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 UBrowser/6.2.4098.3 Safari/537.36'
data={}
data['i']=content
data['from']='AUTO'
data['to']='AUTO'
data['smartresult']='dict'
data['client']='fanyideskweb'
data['salt']='16079142839884'
data['sign']='7fa30595c70a9a765816fda28b64b9ac'
data['lts']='1607914283988'
data['bv']='4b9de992aa3d23c2999121d735e53f9c'
data['doctype']='json'
data['version']='2.1'
data['keyfrom']='fanyi.web'
data['action']='FY_BY_REALTlME'
data=urllib.parse.urlencode(data).encode('utf-8')
req=urllib.request.Request(url,data,head)
response=urllib.request.urlopen(req)
html=response.read().decode('utf-8')
target=json.loads(html)
ent2.insert(INSERT,target['translateResult']["tgt"])
ent2.insert(INSERT,'\n')
def C():
ent.delete(1.0,'end')
ent2.delete(1.0,'end')
root=Tk()
Label(root,text='请输入翻译内容:').grid(row=0,column=0)
menubar = Menu(root,tearoff=False)#创建一个菜单
ent=Text(root,width=40,height=8,bg='pink')
ent.bind("<Button-3>", lambda x: rightKey(x, ent))#绑定右键鼠标
ent.grid(row=0,column=1,padx=10,pady=5)
Label(root,text='翻译结果:').grid(row=100,column=0)
ent2=Text(root,width=40,height=8,bg='pink')
ent2.bind("<Button-3>", lambda x: rightKey(x, ent2))#绑定右键鼠标
ent2.grid(row=100,column=1,padx=10,pady=5)
theButton=Button(root,text='点击翻译',command=youdao)
theButton.grid(row=4,column=1,sticky=E,padx=10,pady=5)
theButton2=Button(root,text='清空',command=C)
theButton2.grid(row=3,column=1,sticky=E,padx=10,pady=5)
mainloop() 小伤口 发表于 2021-3-15 23:47
{:5_99:}我有点看不懂啊,大佬{:5_100:} 小伤口 发表于 2021-3-15 23:47
而且我 的代码是有些什么问题{:5_100:} python_aini 发表于 2021-3-15 23:50
我有点看不懂啊,大佬
是有点tkinter的内容{:10_250:}
等一下啊 小伤口 发表于 2021-3-15 23:51
是有点tkinter的内容
等一下啊
而且有道的审查元素没有from data
所以我有点蒙蔽 python_aini 发表于 2021-3-15 23:50
而且我 的代码是有些什么问题
代码没问题
好像是百度翻译内容加密了
这样爬不了
如果是urllib我也搞不来这个{:10_277:} 小伤口 发表于 2021-3-15 23:53
代码没问题
好像是百度翻译内容加密了
这样爬不了
{:5_100:}哦豁{:5_107:} python_aini 发表于 2021-3-15 23:53
而且有道的审查元素没有from data
所以我有点蒙蔽
真的吗?
我去看看{:10_266:} python_aini 发表于 2021-3-15 23:54
哦豁
没有解决方法了嘛{:5_97:} python_aini 发表于 2021-3-15 23:56
没有解决方法了嘛
没试过
应该也不难吧{:10_245:} 小伤口 发表于 2021-3-15 23:57
没试过
应该也不难吧
我一个菜鸟级别的码农没撤了呀 python_aini 发表于 2021-3-15 23:53
而且有道的审查元素没有from data
所以我有点蒙蔽
有啊 本帖最后由 小伤口 于 2021-3-16 00:02 编辑
python_aini 发表于 2021-3-15 23:50
而且我 的代码是有些什么问题
import urllib.request
import urllib.parse
import json
import time
while True:
content = input("请输入要翻译的内容:(输入”q!”退出程序):")
if content == "q!":
break
url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult"
head = {}#加请求头
head['User.Agent'] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36"
data = {}
data["i"] = content
data["from"] = "AUTO"
data["to"] = "AUTO"
data["smartresult"] = "dict"
data["client"] = "fanyideskweb"
data["salt"] = "15981872159194"
data["sign"] = "cfd7bc0ad5a9d4433c3ff54e338c61f9"
data["lts"] = "1598187215919"
data["bv"] = "4b1009b506fa4405f21e207abc4459fd"
data["doctype"] = "json"
data["version"] = "2.1"
data["keyfrom"] = "fanyi.web"
data["action"] =" FY_BY_REALTlME"
data = urllib.parse.urlencode(data).encode("utf-8")
response = urllib.request.urlopen(url,data)
html = response.read().decode("utf-8")
target = json.loads(html)
print("翻译结果:%s"%(target["translateResult"]["tgt"]))
time.sleep(5)
爬取有道翻译进行翻译
https://fishc.com.cn/thread-191223-1-1.html
(出处: 鱼C论坛)
小伤口 发表于 2021-3-16 00:01
有啊
我怎么没有吖,真的没有找到 本帖最后由 小伤口 于 2021-3-16 00:14 编辑
head = {}#加请求头
head['User.Agent'] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36"python_aini 发表于 2021-3-15 23:59
我一个菜鸟级别的码农没撤了呀
重新试一下有道吧
就用你百度翻译的办法就行
然后加一个请求头应该基本没问题 python_aini 发表于 2021-3-15 23:53
而且有道的审查元素没有from data
所以我有点蒙蔽
必须用谷歌浏览器吗,?
python_aini 发表于 2021-3-16 00:04
我怎么没有吖,真的没有找到
这个要多找几个
找到与你输入的内容完全一致的 小伤口 发表于 2021-3-16 00:05
这个要多找几个
找到与你输入的内容完全一致的
好的
页:
[1]
2