赞
踩
requests.post(url,data, headers)
1.打开百度翻译,随便输入一段值:
2.鼠标右击,打开检查选项,点击“网络”
3.点击fetch/XHR
4.在翻译面板里随便输入或删除一些字,比如把“早上好”的“好”删除
我们发现删去“好”后多出了很多新东西,比如sug
5,点击sug
发现标头里有我们想要的URL:https://fanyi.baidu.com/sug
于是我们把url找到了
- # 导入工具包
- import requests
- import json
- #爬取百度翻译
- def baidu_spider(keyword:str='早上好')->str:
- """
- 根据关键字爬取百度翻译信息
- :param keyword: 需要翻译的文本
- :return: 百度翻译结果
- """
- if keyword is None:
- print("Parameter keyword should not be None!")
- return
- #1.指定链接
- url="https://fanyi.baidu.com/sug"#通过网页逆向工程得到
- #2.UA伪装
- headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36'}
- #3.POST参数设置
- params={'kw':keyword}
- try:
- #4.发送请求
- r = requests.post(url=url, data=params, headers=headers)
- r.raise_for_status() # 如果状态不是200,引发HTTPError异常
- r.encoding = r.apparent_encoding # 获取并设置字符编码
- # 5.获取响应的信息
- dict_obj = r.json()
- #6.持久化存储
- fileName = keyword + '.json'
- fp = open(fileName, 'wt', encoding='utf-8')
- json.dump(dict_obj, fp=fp, ensure_ascii=False)
- fp.close()
- print("翻译结果: ", dict_obj["data"])
- except:
- print('error')
- return None
- if __name__ == "__main__":
- keyword=input("请输入需要翻译的中文:")
- baidu_spider(keyword)

嗯哼!完工!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。