鱼C论坛

 找回密码
 立即注册
查看: 1105|回复: 7

用爬虫使用有道词典就是一直返回errorcode:50,改了好多地方都不行

[复制链接]
发表于 2020-4-5 13:54:07 | 显示全部楼层 |阅读模式

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

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

x
import urllib.request
import urllib.parse
import json
import time
import random
import hashlib

#生成md5字符串
def getMd5(value):
    md5 = hashlib.md5()
    md5.update(bytes(value,encoding='utf-8'))
    md5_str = md5.hexdigest()
    return md5_str

#输入需要翻译的文字
content = input('请输入需要翻译的句子:')

#生成salt值
r = str(int(time.time()*1000))
salt = r + str(int(random.random()*10))

#生成sign
value = "fanyideskweb" + content + salt + "@6f#X3=cCuncYssPsuRUE"
md5_str = getMd5(value)



head = {
    'Accept': 'application/json, text/javascript, */*; q=0.01',
    'Accept-Encoding': 'gzip, deflate',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Connection': 'keep-alive',
    'Content-Length': str(233+len(content)),
    'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
    'Cookie': 'DICT_UGC=be3af0da19b5c5e6aa4e17bd8d90b28a|; OUTFOX_SEARCH_USER_ID=506260966@223.107.129.197; JSESSIONID=abcYjeQ-CFnD_dLfPaifx; OUTFOX_SEARCH_USER_ID_NCOO=2052442007.1493692; ___rl__test__cookies=1586058282296',
    'Host': 'fanyi.youdao.com',
    'Origin': 'http://fanyi.youdao.com',
    'Referer': 'http://fanyi.youdao.com/?keyfrom=dict2.index',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36',
    'X-Requested-With': 'XMLHttpRequest'
}


url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'

data = {}      

data['i'] =  content
data['from'] = 'AUTO'
data['to'] = 'AUTO'
data['smartresult'] =  'dict'
data['client'] =  'fanyideskweb'
data['salt'] =  salt
data['sign'] = md5_str
data['ts'] =  r
data['bv'] =  '70244e0061db49a9ee62d341c5fed82a'
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,head)
response = urllib.request.urlopen(req)
html = response.read().decode('utf-8')
print(html)



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-5 14:46:45 | 显示全部楼层
其他地方我也看不太懂,不过应付有道的反爬把网址里面的_o去掉然后其他按照视频弄就可以直接开爬了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-5 17:22:19 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-5 17:22:35 | 显示全部楼层
head 完全可以不用加的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-6 10:31:33 | 显示全部楼层
zltzlt 发表于 2020-4-5 17:22
head 完全可以不用加的

head加不加都会出现errorcode:50
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-6 10:32:42 | 显示全部楼层
Hoiste 发表于 2020-4-5 14:46
其他地方我也看不太懂,不过应付有道的反爬把网址里面的_o去掉然后其他按照视频弄就可以直接开爬了

我就是常识不去掉_o怎么能够爬成功,按照网上教学修改了salt和sign都失败了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-6 12:51:31 | 显示全部楼层
时代大侠 发表于 2020-4-6 10:32
我就是常识不去掉_o怎么能够爬成功,按照网上教学修改了salt和sign都失败了

参考:https://blog.csdn.net/levon2018/article/details/80343531
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-19 21:23:00 | 显示全部楼层
时代大侠 发表于 2020-4-6 10:32
我就是常识不去掉_o怎么能够爬成功,按照网上教学修改了salt和sign都失败了

我也是尝试了好多次,都不行,只能去_o了,等待未来有技术大佬来解决
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-26 16:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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