Python爬虫 — 百度翻译,,一、基本思路打开F1
Python爬虫 — 百度翻译,,一、基本思路打开F1
一、基本思路
打开F12
尝试输入单词girl,会发现每敲一个字母后都有请求
请求地址是http://fanyi.baidu.com/sug
利用NetWork-All-Hearders,查看发现Fromdata的值是 kw:girl
检查返回内容格式,发现返回的是json格式的内容,所以需要用到json包
二、实现过程
from urllib import request,parseimport json# 伪造uafrom fake_useragent import UserAgentimport chardetbaseurl = ‘https://fanyi.baidu.com/sug‘kw = input("请输入你要翻译的单词:")# 存放用来模拟form data的数据一定要是dict格式data = { ‘kw‘: kw}# 需要使用parse对data进行编码data = parse.urlencode(data).encode()# 伪造一个随机的uaua = UserAgent()# 构造一个请求头# request要求传入的请求头是一个dict格式headers = { # 因为使用post,至少应该包括Content-Length字段 ‘Content-Length‘: len(data), ‘User-Agent‘: ua.random}# 为了更多地设置请求信息,单纯的urlopen函数不够用了# 使用Request类来模拟请求信息r = request.Request(baseurl, data, headers)rsp = request.urlopen(r)temp = rsp.read()# 自动检测编码codeset = chardet.detect(temp)json_data = temp.decode(codeset.get(‘encoding‘, ‘utf-8‘))json_data = json.loads(json_data)print("释义如下:")for item in json_data[‘data‘]: print(item[‘k‘],":",item[‘v‘])
三、运行结果
Python爬虫 — 百度翻译
评论关闭