前言
1. 发送什么类型的请求在对应网页控制台( F12 )的这里看:
于是我们知道了是 POST 请求,就可以:
requests.post(url=url,data=data,headers=headers)
源代码
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# 需求:获取关键字的百度翻译结果
# noinspection PyUnresolvedReferences
import json
import requests
if __name__ == '__main__':
# UA伪装:将访问对象伪装为浏览器
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36'
}
# 爬虫主体
url = "https://fanyi.baidu.com/sug"
keyword = input('请输入要翻译的单词或句子:')
data = {
'kw': keyword
}
response = requests.post(url=url, data=data, headers=headers) # 查看百度翻译源代码
dic_obj = response.json() # 必须确认返回值是 json ,才可以使用 .json()
fileName = keyword + '.json'
#数据持久化
# 方法1
fp = open(fileName,'w',encoding='utf-8')
json.dump(dic_obj,fp=fp,ensure_ascii=False)
fp.close()
# 方法2
#with open(fileName,'w',encoding='utf-8')as fp:
# fp.write(json.dumps(dic_obj,indent=4))
print(json.dumps(dic_obj,indent=4))
结果: