使用流程
- 1 指定url,使用抓包工具,查看想要获取数据的rul
- 确认参数
- 发起数据请求
'''破解百度翻译
思路:
1.使用浏览器抓包工具,发线在输入字母时会有 XHR 动作(页面刷新),是一个POST 请求
2.找到要抓取的url,并确认返回的数据类型content-type: application/json;发现是一个json的数据类型
3.弄清楚json的数据结构
'''
import requests
import json
if __name__ == '__main__':
#UA伪装
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36'
}
#url用抓包工具抓取
poseturl = 'https://fanyi.baidu.com/sug'
kw = input('Enter a word:')
#参数处理,从抓包工具中查看需要哪些参数 From Data
data ={
'kw':kw
}
#发起POST请求
response = requests.post(url=poseturl,data=data,headers=headers)
#获取响应数据,如果确认数据时JSON,可直接使用.json方法
dic_obj = response.json()
# print(dic_obj)
#持久化存储
fp = open('./%s.json' % kw,'w',encoding='utf-8')
json.dump(dic_obj,fp=fp,ensure_ascii=False)
print('Over!!!')
4.运行结果