首先进入百度翻译,分析翻译部分存在Ajax请求
(AJAX 是一种用于创建快速动态网页的技术。
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。)
通过F12抓包工具分析Ajax请求
确定URL和使用POST方法
如图:
查看参数:
结果如下:
代码如下:
import requests
import json
#指定URL
post_url = 'https://fanyi.baidu.com/sug'
#UA伪装
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 QQBrowser/10.5.3863.400'
}
#post请求参数处理(同get请求一致)
word = input("entry a word:")
data ={
'kw':word
}
#发起请求
response = requests.post(url=post_url,data=data,headers=headers)
#获取响应数据:json方法返回的是obj(对象)(如果确认响应数据是json类型,才可以使用json())
dic_obj =response.json()
print(dic_obj)
#持久化存储
fileName = word+".json"
fp = open(fileName,'w',encoding='utf-8')
json.dump(dic_obj,fp=fp,ensure_ascii=False)#(json里有中文,不用ASCII码进行编码)
print("over!")