鱼C论坛

 找回密码
 立即注册
查看: 4551|回复: 28

[已解决]爬虫百度翻译

[复制链接]
发表于 2021-3-15 23:38:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import urllib.request
import 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}

没撤了还请各位大佬指教
最佳答案
2021-3-15 23:53:44
python_aini 发表于 2021-3-15 23:50
而且我 的代码是有些什么问题

代码没问题
好像是百度翻译内容加密了
这样爬不了
如果是urllib我也搞不来这个
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-3-15 23:47:04 | 显示全部楼层
本帖最后由 小伤口 于 2021-3-15 23:48 编辑

之前用urllib爬百度翻译,我也没爬到
还是有道吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-15 23:47:34 | 显示全部楼层
  1. import urllib.request
  2. import urllib.parse
  3. import json
  4. from tkinter import*
  5. class Youdao:
  6.     i=0
  7.     def cut(editor, event=None):
  8.         editor.event_generate("<<Cut>>")
  9.     def copy(editor, event=None):
  10.         editor.event_generate("<<Copy>>")
  11.     def paste(editor, event=None):
  12.         editor.event_generate('<<Paste>>')
  13.     def rightKey(event, editor):
  14.         menubar.delete(0,END)
  15.         menubar.add_command(label='剪切',command=lambda:cut(editor))
  16.         menubar.add_command(label='复制',command=lambda:copy(editor))
  17.         menubar.add_command(label='粘贴',command=lambda:paste(editor))
  18.         menubar.post(event.x_root,event.y_root)


  19.         
  20.     def youdao():
  21.         ent2.delete(1.0,'end')
  22.         content=ent.get(1.0,'end')
  23.         
  24.         a=[]
  25.         url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
  26.         head={}
  27.         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'
  28.         data={}
  29.         data['i']=content
  30.         data['from']='AUTO'
  31.         data['to']='AUTO'
  32.         data['smartresult']='dict'
  33.         data['client']='fanyideskweb'
  34.         data['salt']='16079142839884'
  35.         data['sign']='7fa30595c70a9a765816fda28b64b9ac'
  36.         data['lts']='1607914283988'
  37.         data['bv']='4b9de992aa3d23c2999121d735e53f9c'
  38.         data['doctype']='json'
  39.         data['version']='2.1'
  40.         data['keyfrom']='fanyi.web'
  41.         data['action']='FY_BY_REALTlME'



  42.         data=urllib.parse.urlencode(data).encode('utf-8')
  43.         req=urllib.request.Request(url,data,head)
  44.         response=urllib.request.urlopen(req)

  45.         html=response.read().decode('utf-8')

  46.         target=json.loads(html)
  47.         
  48.       
  49.         ent2.insert(INSERT,target['translateResult'][0][0]["tgt"])
  50.         ent2.insert(INSERT,'\n')
  51.     def C():
  52.         ent.delete(1.0,'end')
  53.         ent2.delete(1.0,'end')
  54.     root=Tk()


  55.     Label(root,text='请输入翻译内容:').grid(row=0,column=0)
  56.     menubar = Menu(root,tearoff=False)#创建一个菜单
  57.     ent=Text(root,width=40,height=8,bg='pink')
  58.     ent.bind("<Button-3>", lambda x: rightKey(x, ent))#绑定右键鼠标


  59.     ent.grid(row=0,column=1,padx=10,pady=5)

  60.     Label(root,text='翻译结果:').grid(row=100,column=0)
  61.     ent2=Text(root,width=40,height=8,bg='pink')
  62.     ent2.bind("<Button-3>", lambda x: rightKey(x, ent2))#绑定右键鼠标
  63.     ent2.grid(row=100,column=1,padx=10,pady=5)
  64.     theButton=Button(root,text='点击翻译',command=youdao)
  65.     theButton.grid(row=4,column=1,sticky=E,padx=10,pady=5)
  66.     theButton2=Button(root,text='清空',command=C)
  67.     theButton2.grid(row=3,column=1,sticky=E,padx=10,pady=5)

  68.     mainloop()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-15 23:50:02 | 显示全部楼层

我有点看不懂啊,大佬
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-15 23:50:45 | 显示全部楼层

而且我 的代码是有些什么问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-15 23:51:27 | 显示全部楼层
python_aini 发表于 2021-3-15 23:50
我有点看不懂啊,大佬

是有点tkinter的内容
等一下啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-15 23:53:05 | 显示全部楼层
小伤口 发表于 2021-3-15 23:51
是有点tkinter的内容
等一下啊

而且有道的审查元素没有from data
所以我有点蒙蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-15 23:53:44 | 显示全部楼层    本楼为最佳答案   
python_aini 发表于 2021-3-15 23:50
而且我 的代码是有些什么问题

代码没问题
好像是百度翻译内容加密了
这样爬不了
如果是urllib我也搞不来这个
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-15 23:54:43 | 显示全部楼层
小伤口 发表于 2021-3-15 23:53
代码没问题
好像是百度翻译内容加密了
这样爬不了

哦豁
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-15 23:55:35 | 显示全部楼层
python_aini 发表于 2021-3-15 23:53
而且有道的审查元素没有from data
所以我有点蒙蔽

真的吗?
我去看看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-15 23:56:02 | 显示全部楼层

没有解决方法了嘛
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-15 23:57:31 | 显示全部楼层
python_aini 发表于 2021-3-15 23:56
没有解决方法了嘛

没试过
应该也不难吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-15 23:59:42 | 显示全部楼层
小伤口 发表于 2021-3-15 23:57
没试过
应该也不难吧

我一个菜鸟级别的码农没撤了呀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-16 00:01:01 | 显示全部楼层
python_aini 发表于 2021-3-15 23:53
而且有道的审查元素没有from data
所以我有点蒙蔽

QQ截图20210316000018.png

有啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-16 00:01:49 | 显示全部楼层
本帖最后由 小伤口 于 2021-3-16 00:02 编辑
python_aini 发表于 2021-3-15 23:50
而且我 的代码是有些什么问题

  1. import urllib.request
  2. import urllib.parse
  3. import json
  4. import time

  5. while True:
  6.       content = input("请输入要翻译的内容:(输入”q!”退出程序):")
  7.       if content == "q!":
  8.             break

  9.       url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult"

  10.       head = {}#加请求头
  11.       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"
  12.       data = {}
  13.       data["i"] = content
  14.       data["from"] = "AUTO"
  15.       data["to"] = "AUTO"
  16.       data["smartresult"] = "dict"
  17.       data["client"] = "fanyideskweb"
  18.       data["salt"] = "15981872159194"
  19.       data["sign"] = "cfd7bc0ad5a9d4433c3ff54e338c61f9"
  20.       data["lts"] = "1598187215919"
  21.       data["bv"] = "4b1009b506fa4405f21e207abc4459fd"
  22.       data["doctype"] = "json"
  23.       data["version"] = "2.1"
  24.       data["keyfrom"] = "fanyi.web"
  25.       data["action"] =" FY_BY_REALTlME"
  26.       data = urllib.parse.urlencode(data).encode("utf-8")

  27.       response = urllib.request.urlopen(url,data)
  28.       html = response.read().decode("utf-8")

  29.       target = json.loads(html)
  30.       print("翻译结果:%s"%(target["translateResult"][0][0]["tgt"]))
  31.       time.sleep(5)
复制代码


爬取有道翻译进行翻译
https://fishc.com.cn/thread-191223-1-1.html
(出处: 鱼C论坛)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-16 00:04:13 | 显示全部楼层

我怎么没有吖,真的没有找到
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-16 00:04:26 | 显示全部楼层
本帖最后由 小伤口 于 2021-3-16 00:14 编辑
  1. head = {}#加请求头
  2. 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
我一个菜鸟级别的码农没撤了呀


重新试一下有道吧
就用你百度翻译的办法就行
然后加一个请求头应该基本没问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-16 00:05:21 | 显示全部楼层
python_aini 发表于 2021-3-15 23:53
而且有道的审查元素没有from data
所以我有点蒙蔽

必须用谷歌浏览器吗,?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-16 00:05:30 | 显示全部楼层
python_aini 发表于 2021-3-16 00:04
我怎么没有吖,真的没有找到

这个要多找几个
找到与你输入的内容完全一致的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-16 00:06:38 | 显示全部楼层
小伤口 发表于 2021-3-16 00:05
这个要多找几个
找到与你输入的内容完全一致的

好的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-26 11:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表