python爬虫学习(三)百度翻译

#post请求(携带了参数)
#响应数据是一组json数据

先通过抓包找到url
发现百度翻译使用了Ajax(局部刷新)
所以看抓取的XHR文件
在这里插入图片描述
XHR文件返回的是一个json文件

在这里插入图片描述
抓包的话用fiddle或者在页面f12用谷歌开发者工具

# -*- coding: utf-8 -*-
import requests
import json
if __name__ == '__main__':
    #step1 指定url
    post_url ='https://fanyi.baidu.com/sug'
    #step2 UA伪装
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36'
    }
    #step3 post请求参数出路(和get一样)
    word = input('enter a word:')
    data = {
        'kw':word
    }
    #step4 发送请求
    #url = posturl data= 参数字典
    response = requests.post(url=post_url,data=data,headers=headers)

    #step5 获取响应数据
    #json方法返回是obj(对象),如果确认响应数据是json类型的 才可以使用json()
    dic_obj = response.json()
    #test
    #print(dic_obj)

    #step6 保存返回的数据
    fileName =word+'.json'
    fp =open(fileName,'w',encoding='utf-8')
    #json中含有中文,所以要加上ensure_ascii=False
    json.dump(dic_obj,fp=fp,ensure_ascii=False)
    print(fileName,"完成")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值