|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
各位大佬,
我想问一下有关于0基础学Python 054 爬虫 实战的一个问题。
在课堂例子:使用Python模拟浏览器,使用在线有道词典进行翻译。
我自己跟着做了一遍,做到下面这一步:
import urllib.request
import urllib.parse
url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
data = {}
data['i']= 'I love FishC.com'
data['from']= 'AUTO'
data['to'] ='AUTO'
data['smartresult']= 'dict'
data['client']='fanyideskweb'
data['salt']='15808812857901'
data['sign']= '41f9470664fe7d4a3b549a4aeceaaba5'
data['ts']= '1580881285790'
data['bv']= '901200199a98c590144a961dac532964'
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')
print(html)
这时候我发现,如果我现在运行,Python直接给我一个: {"errorCode":50}
(正常情况下(在小甲鱼的演示中)应该返回一个包含 "我爱FishC.com" 的一个长字符串)
后来我似乎发现了原因,我直接把这个Request URL (就是上面代码中的URL) 直接在浏览器中打开,浏览器就会给我 {"errorCode":50}
请问这是为什么?怎么解决这个问题呢?
谢谢!
链接里去掉"_o",代码如下:
- import urllib.request
- import urllib.parse
- url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
- data = {}
- data['i']= 'I love FishC.com'
- data['from']= 'AUTO'
- data['to'] ='AUTO'
- data['smartresult']= 'dict'
- data['client']='fanyideskweb'
- data['salt']='15808812857901'
- data['sign']= '41f9470664fe7d4a3b549a4aeceaaba5'
- data['ts']= '1580881285790'
- data['bv']= '901200199a98c590144a961dac532964'
- 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')
- print(html)
复制代码
|
|