zhucrokes 发表于 2020-7-23 16:14:53

看视屏爬虫实战,还能照猫画虎吗?是不是过期了,就是爬有道翻译

有道翻译审查元素 date 里面跟视频里的都不一样了

sunrise085 发表于 2020-7-23 16:20:07

本帖最后由 sunrise085 于 2020-7-23 16:25 编辑

的确不一样了。
应该是有道更新了
我写的和小甲鱼的就不完全一样
import urllib.request
import urllib.parse
import json

content=input("请输入需要翻译的内容:")

url="http://fanyi.youdao.com/translate?smartresult=dict&smartresult=ugc#=&sessionFrom=http://www.youdao.com"

data={}
data['i']=content
#data['from']='AUTO'
#data['to']='AUTO'
#data['smartresult']='dict'
#data['client']='fanyideskweb'
#data['salt']='15923615349312'
#data['sign']='6d92a73f864706b1d88f777eb0861b26'
#data['ts']='1592361534931'
#data['bv']='37074a7035f34bfbf10d32bb8587564a'
data['doctype']='json'
#data['version']='2.1'
#data['keyfrom']='fanyi.web'
#data['action']='FY_BY_CLICKBUTTION'
data= urllib.parse.urlencode(data).encode('utf-8')

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/69.0.3497.100 Safari/537.36')

response=urllib.request.urlopen(req)
html = response.read().decode('utf-8')

target=json.loads(html)

print("翻译结果:%s"%(target['translateResult']['tgt']))

Twilight6 发表于 2020-7-23 16:21:28



建议新手可以看这篇文章,一步步来,这里总结了两种爬有道的方法:

https://blog.csdn.net/Mr_blueD/article/details/90581634

zhucrokes 发表于 2020-7-23 16:59:06

sunrise085 发表于 2020-7-23 16:20
的确不一样了。
应该是有道更新了
我写的和小甲鱼的就不完全一样

兄弟是不是需要学后面的反爬内容啊!还有 那个print(html)为什么只出来 errro:50????

Tip0 发表于 2020-7-23 17:00:32

zhucrokes 发表于 2020-7-23 16:59
兄弟是不是需要学后面的反爬内容啊!还有 那个print(html)为什么只出来 errro:50????

因为有道反爬了,链接中的_o 去掉就好了

TravelLight 发表于 2020-8-9 08:25:17

sunrise085 发表于 2020-7-23 16:20
的确不一样了。
应该是有道更新了
我写的和小甲鱼的就不完全一样

谢谢谢谢{:5_108:}

陈尚涵 发表于 2020-8-9 14:59:19

貌似确实是这样

刘宗睿 发表于 2020-10-21 06:12:16

我有源码
分享有道翻译爬虫,::

import urllib.request
import urllib.parse
import json
from time import sleep
while 1:
    url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
    data = {}
    data【'i'】 = input("输入待翻译的文字:")
    data【'from'】= 'AUTO'
    data【'to'】= 'AUTO'
    data【'smartresult'】= 'dict'
    data【'client'】= 'fanyideskweb'
    data【'salt'】= '16029936230111'
    data【'sign'】= '08714420b7b24624cdc1b9539ac3b9de'
    data【'lts'】= '1602993623011'
    data【'bv'】= 'a1cbc92f4166e300df7d5089e67d53ed'
    data【'doctype'】= 'json'
    data【'version'】= '2.1'
    data【'keyfrom'】= 'fanyi.web'
    data【'action'】= 'FY_BY_REALTlME'
    data = urllib.parse.urlencode(data).encode('utf-8')

    reponse = urllib.request.urlopen(url,data)
    html = reponse.read().decode('utf-8')
    htmls = json.loads(html)
    print(htmls【'translateResult'】【0】【0】【'src'】 + '的翻译结果是:' + htmls【'translateResult'】【0】【0】【'tgt'】)
    for i in range(0,3):
      print(f'为了防止造成服务器拥堵,请等待{3 - i}秒后继续翻译!')

刘宗睿 发表于 2020-10-21 06:13:11

我有源码分享有道翻译爬虫,::

import urllib.request
import urllib.parse
import json
from time import sleep
while 1:
    url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
    data = {}
    data【'i'】 = input("输入待翻译的文字:")
    data【'from'】= 'AUTO'
    data【'to'】= 'AUTO'
    data【'smartresult'】= 'dict'
    data【'client'】= 'fanyideskweb'
    data【'salt'】= '16029936230111'
    data【'sign'】= '08714420b7b24624cdc1b9539ac3b9de'
    data【'lts'】= '1602993623011'
    data【'bv'】= 'a1cbc92f4166e300df7d5089e67d53ed'
    data【'doctype'】= 'json'
    data【'version'】= '2.1'
    data【'keyfrom'】= 'fanyi.web'
    data【'action'】= 'FY_BY_REALTlME'
    data = urllib.parse.urlencode(data).encode('utf-8')

    reponse = urllib.request.urlopen(url,data)
    html = reponse.read().decode('utf-8')
    htmls = json.loads(html)
    print(htmls【'translateResult'】【0】【0】【'src'】 + '的翻译结果是:' + htmls【'translateResult'】【0】【0】【'tgt'】)
    for i in range(0,3):
      print(f'为了防止造成服务器拥堵,请等待{3 - i}秒后继续翻译!')
页: [1]
查看完整版本: 看视屏爬虫实战,还能照猫画虎吗?是不是过期了,就是爬有道翻译