Python3.7 爬虫(有道词典)(使用User Agent)
- 参考
-
- 问题1
- 问题2
- 问题3
- 审查数据
- 代码实现
- 结果呈现
参考
学习 小甲鱼老师的《零基础入门学习Python》
问题1
您的请求来源非法,商业用途使用请关注有道翻译API官方网站“有道智云”: http://ai.youdao.com
问题2
SyntaxError: EOL while scanning string literal
问题3
英汉自动转换翻译
审查数据
使用mac的chrome浏览器开发者工具,在Network窗口,获取网页信息
代码实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | // An highlighted block import urllib.request import urllib.parse import json content = input("请输入需要翻译的内容:") url ="http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule" head ={<!-- -->} head['Referer']='http://fanyi.youdao.com' ###head['User-Agent']='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' head['User-Agent']='Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19' """ 已失效 data = {<!-- -->} data['type']='AUTO' data['i']=content data['doctype']='json' data['xmlVersion']='1.6' data['keyfrom']='fanyi.web' data['ue']='UTF-8' data['typoResult']='true' data =urllib.parse.urlencode(data).encode('utf-8') """ data = {<!-- -->} data['i'] = content data['from'] = 'AUTO' data['to'] = 'AUTO' data['smartresult'] = 'dict' data['client'] = 'fanyideskweb' data['salt'] = '16043278834179' #会变化 data['sign'] = '4f2a1f9a4e4c3b0a67957a27d7eab383'#会变化 data['lts'] = '1604327883417'#会变化lts data['bv'] = '1267ce7357d7d72f8f188874f323a125' data['doctype'] = 'json' data['version'] = '2.1' data['keyfrom'] = 'fanyi.web' data['action'] = 'FY_BY_CLICKBUTTION' data = urllib.parse.urlencode(data).encode('utf-8') #response =urllib.request.urlopen(url,data) #html =response.read().decode('utf-8') req =urllib.request.Request(url,data,head) response =urllib.request.urlopen(req) html =response.read().decode('utf-8') #print(html) target=json.loads(html) print("翻译结果:%s"%(target['translateResult'][0][0]['tgt'])) |
结果呈现