post请求+查找post的url+返回json数据

# - 需求:破解百度翻译
# - post请求(携带了参数)
# - 响应数据是一组json数据

import requests
import json

if __name__=='__main__':
    #1,指定url,这儿指定的是post的url,f12->network->XHR->Request URL: https://fanyi.baidu.com/sug
    #可以看到类型为:Request Method: POST
    url_post = '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/95.0.4638.69 Safari/537.36'
    }

    #3,获取数据(发起请求)
    #data类比Parma,都是参数
    word = input('输入要翻译的单词:\n')
    data={
        'kw':word   #这儿的'kw',是翻译页面查看搜索单词时,携带数据的,原型就是: kw:单词
    }
    response = requests.post(url=url_post,data=data,headers=headers)

    #4,获取响应数据,注意数据类型(之前就看到,返回的是json数据)
    #res = response.text  返回的是文本,字符串类型数据({"errno":0,"data":[{"k":"do","v":"aux. \u6784\u6210\u7591\u95ee\u53e5\u548c\u5426\u5b9a\u53e5; )
    res_obj = response.json() #:json()方法返回的是obj对象(如果确认响应数据是json类型的,才可以使用json())

    #5,存储数据
    filename = word+'.json' #存的是json文件
    f = open(filename,'w',encoding='utf-8')
    #json的dump方法进行存储数据
    json.dump(res_obj,fp=f,ensure_ascii=False)

    print('爬取完成!')

#2022.5.24日