李大夯 发表于 2021-1-1 18:28:11

关于python爬虫

有道加了随机访问码
访问吗每次访问都不一样
返回结果都是errorcode :50
该怎么解决,求大佬帮助

小伤口 发表于 2021-1-1 18:39:14

本帖最后由 小伤口 于 2021-1-1 18:41 编辑

import urllib.request
import urllib.parse
import json



   

   
content=input('请输入翻译内容:')
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)
print(target['translateResult']["tgt"])   
   
   





加一个浏览器访问就可以了
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'

把_o去掉

一个账号 发表于 2021-1-6 20:01:33

本帖最后由 一个账号 于 2021-1-6 20:03 编辑

有吗?我很久以前写的一个程序还可以运行?

把你的代码贴出来,看看是不是你的代码问题

°蓝鲤歌蓝 发表于 2021-1-6 20:39:02

1. 有道翻译是 时间戳 , 随机数, md5 加密的,这些都是写在 js 里的,所以你爬不动很正常。
2.楼上的代码是可以的,但是只是一种取巧的方式。,用的 url 不是真正网页上的 url(一个是 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule', 一个是 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'),而且貌似只能中英互译,不能根据提交不同的参数进行 中日, 中德 互译。
页: [1]
查看完整版本: 关于python爬虫