python_aini 发表于 2021-3-15 23:38:31

爬虫百度翻译

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}

没撤了还请各位大佬指教{:5_109:}

小伤口 发表于 2021-3-15 23:47:04

本帖最后由 小伤口 于 2021-3-15 23:48 编辑

之前用urllib爬百度翻译,我也没爬到
还是有道吧

小伤口 发表于 2021-3-15 23:47:34

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()

python_aini 发表于 2021-3-15 23:50:02

小伤口 发表于 2021-3-15 23:47


{:5_99:}我有点看不懂啊,大佬{:5_100:}

python_aini 发表于 2021-3-15 23:50:45

小伤口 发表于 2021-3-15 23:47


而且我 的代码是有些什么问题{:5_100:}

小伤口 发表于 2021-3-15 23:51:27

python_aini 发表于 2021-3-15 23:50
我有点看不懂啊,大佬

是有点tkinter的内容{:10_250:}
等一下啊

python_aini 发表于 2021-3-15 23:53:05

小伤口 发表于 2021-3-15 23:51
是有点tkinter的内容
等一下啊

而且有道的审查元素没有from data
所以我有点蒙蔽

小伤口 发表于 2021-3-15 23:53:44

python_aini 发表于 2021-3-15 23:50
而且我 的代码是有些什么问题

代码没问题
好像是百度翻译内容加密了
这样爬不了
如果是urllib我也搞不来这个{:10_277:}

python_aini 发表于 2021-3-15 23:54:43

小伤口 发表于 2021-3-15 23:53
代码没问题
好像是百度翻译内容加密了
这样爬不了


{:5_100:}哦豁{:5_107:}

小伤口 发表于 2021-3-15 23:55:35

python_aini 发表于 2021-3-15 23:53
而且有道的审查元素没有from data
所以我有点蒙蔽

真的吗?
我去看看{:10_266:}

python_aini 发表于 2021-3-15 23:56:02

python_aini 发表于 2021-3-15 23:54
哦豁

没有解决方法了嘛{:5_97:}

小伤口 发表于 2021-3-15 23:57:31

python_aini 发表于 2021-3-15 23:56
没有解决方法了嘛

没试过
应该也不难吧{:10_245:}

python_aini 发表于 2021-3-15 23:59:42

小伤口 发表于 2021-3-15 23:57
没试过
应该也不难吧

我一个菜鸟级别的码农没撤了呀

小伤口 发表于 2021-3-16 00:01:01

python_aini 发表于 2021-3-15 23:53
而且有道的审查元素没有from data
所以我有点蒙蔽



有啊

小伤口 发表于 2021-3-16 00:01:49

本帖最后由 小伤口 于 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论坛)

python_aini 发表于 2021-3-16 00:04:13

小伤口 发表于 2021-3-16 00:01
有啊

我怎么没有吖,真的没有找到

小伤口 发表于 2021-3-16 00:04:26

本帖最后由 小伤口 于 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-16 00:05:21

python_aini 发表于 2021-3-15 23:53
而且有道的审查元素没有from data
所以我有点蒙蔽

必须用谷歌浏览器吗,?

小伤口 发表于 2021-3-16 00:05:30

python_aini 发表于 2021-3-16 00:04
我怎么没有吖,真的没有找到

这个要多找几个
找到与你输入的内容完全一致的

python_aini 发表于 2021-3-16 00:06:38

小伤口 发表于 2021-3-16 00:05
这个要多找几个
找到与你输入的内容完全一致的

好的
页: [1] 2
查看完整版本: 爬虫百度翻译