为什么少了个 _o才能正常运行?
import urllib.requestimport urllib.parse
content = input('请输入要翻译的内容:')
url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'#这是网页上的
url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'#这是正确的
date = {}
date['i']=content
date['from']='AUTO'
date['to']='AUTO'
date['smartresult']='dict'
date['client']='fanyideskweb'
date['salt']='15979913254708'
date['sign']='fe5f00b4f6da188ae071a5f15f239354'
date['lts']='1597991325470'
date['bv']='cc652a2ad669c22da983a705e3bca726'
date['doctype']='json'
date['version']='2.1'
date['keyfrom']='fanyi.web'
date['action']='FY_BY_CLICKBUTTION'
date = urllib.parse.urlencode(date).encode('utf-8')
response = urllib.request.urlopen(url,date)
html = response.read()
print(html)
本帖最后由 Twilight6 于 2020-8-22 17:51 编辑
有道设的反爬呗,就是为了迷惑你
你不妨直接访问这两个网址试试看:
http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule
http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule
Twilight6 发表于 2020-8-22 17:50
有道设的反爬呗,就是为了迷惑你
那这个以后遇到了岂不是懵逼了 def花 发表于 2020-8-22 17:51
那这个以后遇到了岂不是懵逼了
哈哈,很多人来论坛发过这个的求助帖子 1. 最佳答案的两个链接点击都算是 get 请求,明显这两个 url 都应该是用 post 请求的。
2. 两个 url 都能获得最终结果,只是不去 o 的那个有 js 加密,需要破解才可以爬取,去 o 的那个我个人觉得是有道内部用的,不小心传出来了。 1. 最佳答案的两个 url 点击都是 get 请求,但是这两个 url 都是用于 post 请求的。
2. 两个 url 都是有效的,只是不去 o 的需要破解 js 加密。我个人觉得去 o 的是有道内部传出来的。
页:
[1]