Python——网络爬虫抓取有道词典

今天我们来谈谈python的网络爬虫抓取有道词典

抓取有道词典之前,我们需要对有道词典的网页进行分析,在这里我们需要得到有道网页的请求网址,这里的状态码显示200即为表示正常访问。

url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'

 

 在请求头的地方我们可以看到'User-Agent' 这里表示的是我们使用什么来访问有道的网页,有些网页可能会禁止python的访问防止服务器崩溃,但这个时候我们只需要在自己的代码里面增加'User-Agent'就可以对浏览器进行欺骗。

 

import urllib.request
import urllib.parse
import json
import time
while True:content = input('请输入需要翻译的内容(输入"e"退出程序):')if  content =='e':breakurl = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'     #  有道词典的请求网址head = { }       #设置一个头部使得浏览器认为不是用python进行访问head['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0'data ={ }data ['i'] =  contentdata ['from']  = 	'AUTO'data['to'] =	'AUTO'data['smartresult']	 = 'dict'data['client'] = 	'fanyideskweb'data['salt']=	'15565283671426'data['sign']=	'135c616fb0ba768c86718a8ae94e31a8'data['ts']=	'1556528367142'data['bv']=	'e2a78ed30c66e16a857c5b6486a1d326'data['doctype'] = 	'json'data['version'] = 	'2.1'data['keyfrom'] = 	'fanyi.web'data['action'] = 	'FY_BY_REALTlME'data = urllib.parse.urlencode(data).encode('utf-8')     #对数据进行utf-8的编码模式req = urllib.request.Request(url,data,head)    #  填充头部使得浏览器认为不是用python进行运行response = urllib.request.urlopen(req)       # 实现对网站进行访问html  = response.read().decode('utf-8')     # 对数据进行解码target = json.loads(html)           #  已编码的JSON字符串解码为python对象target = target['translateResult'][0][0]['tgt']    #对输出的target进行格式化的筛选print(target)time.sleep(5)

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部