鱼C论坛

 找回密码
 立即注册
查看: 1451|回复: 4

[已解决]零基础学python第14.2.2如何翻译文本的实践中,代码的url是怎么确定的?

[复制链接]
发表于 2018-5-7 15:58:17 | 显示全部楼层 |阅读模式

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

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

x
大家好,我现在在学习《零基础学python》的第十四章,论一只爬虫的自我修养。

在学习第14.2.2的时候遇到了一个问题,即“在编写爬去网易有道翻译结果的时候,书本中代码第三行的url应该怎么赋值?”

我的源代码:
import urllib.request
import urllib.parse

url="http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule"
data={}  
data['type']='AUTO'
data['doctype']='json'
data['i']='i love fishc.com'
data['version']='2.1'
data['keyfrom']='fanyi.web'
data['ue']='UTF-8'
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)

结果:{"errorCode":50}  

上述编码中,除了URL不是按照课本上来以外,其他的都和课本一样。

有两个问题:
1、为什么我的url是用网页源代码上的url地址,结果会显示{"errorCode":50}  ;
2、字典data中为什么要定义‘ue’,有什么作用?还有源代码的from data信息中,还有一些字段如client、sign、action这些为什么不用再字典中赋值?


书上讲的不清楚,请各位大佬抽空指点一下。感谢感谢!!

下面附上网页代码信息:
request header:
http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule  
POST /translate_o?smartresult=dict&smartresult=rule HTTP/1.1
Host: fanyi.youdao.com
Connection: keep-alive
Content-Length: 217
Accept: application/json, text/javascript, */*; q=0.01
Origin: http://fanyi.youdao.com
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://fanyi.youdao.com/?keyfrom=dict2.index
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: DICT_UGC=be3af0da19b5c5e6aa4e17bd8d90b28a|; OUTFOX_SEARCH_USER_ID=-1137543057@123.58.182.244; JSESSIONID=abcqd4Pc2Bhai-Ntqw5mw; OUTFOX_SEARCH_USER_ID_NCOO=1410678906.2771654; ___rl__test__cookies=1525677955507


最佳答案
2018-5-7 22:31:04
两个办法:
1.小甲鱼书上的版本太老了  有道早就升级了翻译版本你把下图的data全部输入进去就好了(一个星期前我试了下可以)
2.有道是md5加密了 salt sign是加密的 给你个学习链接
有道翻译最新版爬虫,解析反爬虫了,不要再问{"errorCode":50}错误怎么办了
http://bbs.fishc.com/thread-106892-1-1.html
(出处: 鱼C论坛)

网页源代码信息

网页源代码信息
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-5-7 17:45:49 | 显示全部楼层
总之就是反爬,加密。

没到这个解密的本事还是老老实实换网站练习
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-7 18:21:49 | 显示全部楼层
ba21 发表于 2018-5-7 17:45
总之就是反爬,加密。

没到这个解密的本事还是老老实实换网站练习

所以是因为有道词典设置了反扒 ,所以我看不到真实的链接地址么?第一次学,还请多指导一下!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-7 18:38:25 | 显示全部楼层
court123 发表于 2018-5-7 18:21
所以是因为有道词典设置了反扒 ,所以我看不到真实的链接地址么?第一次学,还请多指导一下!

我也指点不了。
还是那句话
没到这个解密的本事还是老老实实换网站练习
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-7 22:31:04 | 显示全部楼层    本楼为最佳答案   
两个办法:
1.小甲鱼书上的版本太老了  有道早就升级了翻译版本你把下图的data全部输入进去就好了(一个星期前我试了下可以)
2.有道是md5加密了 salt sign是加密的 给你个学习链接
有道翻译最新版爬虫,解析反爬虫了,不要再问{"errorCode":50}错误怎么办了
http://bbs.fishc.com/thread-106892-1-1.html
(出处: 鱼C论坛)

捕获.PNG
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-30 04:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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