Python爬虫_有道翻译_为什么爬取有道时爬到的不是结果、是整个页面

参考文章:https://blog.csdn.net/weixin_38341450/article/details/78842700 

使用自己的代码,出来的是:

将全部内容输出为html文件:

import urllib.request
import urllib.parse 
content = input("Enter the words needs translated:") 
url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=ugc" 
data = {} 
data['i'] = content 
data['from'] = 'AUTO' 
data['to']='AUTO' 
data['smartresult']='dict' 
data['client']='fanyideskweb' 
data['salt']='1513663501217' 
data['sign']='6a516734349a812792c07491f639609e' 
data['doctype'] = ' json' 
data['version'] = '2.1' 
data['keyfrom']='fanyi.web' 
data['action']='FY_BY_REALTIME' 
data['typoResult']='false' 
data = urllib.parse.urlencode(data).encode('utf-8') 
response = urllib.request.urlopen(url,data) 
html = response.read()#.decode('utf-8'),需要取消掉解码
#print(html)
with open('youdao2.html','wb' ) as f:
    f.write(html)

获得的是:

使用参考文章的代码,出现的是:

很明显,我的代码出现了问题:

我的代码

import urllib.request
import urllib.parse
content = input("Enter the words needs translated:") 
url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=ugc" 
data = {} 
data['i'] = content 
data['from'] = 'AUTO' 
data['to']='AUTO' 
data['smartresult']='dict' 
data['client']='fanyideskweb' 
data['salt']='1513663501217' 
data['sign']='6a516734349a812792c07491f639609e' 
data['doctype'] = ' json' 
data['version'] = '2.1' 
data['keyfrom']='fanyi.web' 
data['action']='FY_BY_REALTIME' 
data['typoResult']='false' 
data = urllib.parse.urlencode(data).encode('utf-8') 
response = urllib.request.urlopen(url,data) 
html = response.read().decode('utf-8')
print(html)

 正确的代码:

import urllib.request
import urllib.parse
content = input("Enter the words needs translated:") 
url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=ugc" 
data = {} 
data['i'] = content 
data['from'] = 'AUTO' 
data['to']='AUTO' 
data['smartresult']='dict' 
data['client']='fanyideskweb' 
data['salt']='1513663501217' 
data['sign']='6a516734349a812792c07491f639609e' 
data['doctype'] = 'json' 
data['version'] = '2.1' 
data['keyfrom']='fanyi.web' 
data['action']='FY_BY_REALTIME' 
data['typoResult']='false' 
data = urllib.parse.urlencode(data).encode('utf-8') 
response = urllib.request.urlopen(url,data) 
html = response.read().decode('utf-8')
print(html)

 区别很小:

我的 代码是data['doctype'] = ' json',正确的代码是data['doctype'] = 'json'

我多了一个空格!!

猜你喜欢

转载自blog.csdn.net/Mr_liu_666/article/details/109095226