python爬虫requests.post()_Python爬虫进阶——Request对象之post请求案例分析【百度翻译】...

作为进阶的最后一篇,我们就讲个有意思点的案例吧——百度翻译。

一、分析URL接口

正如上一篇:《Python爬虫进阶——Get请求》讲到的:当我们进行爬虫开发的时候,首先要做的,就是分析URL接口。

F12;

开发者工具中点击“暂停”和“清空”;

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1dvTHlrb3M=,size_16,color_FFFFFF,t_70

输入“python”,并选中如图的“sug”请求;

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1dvTHlrb3M=,size_16,color_FFFFFF,t_70

点击“Headers”,可以查看到图中圆圈中的信息;

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1dvTHlrb3M=,size_16,color_FFFFFF,t_70

二、代码实现

baidu_fanyi.py

import urllib.request as ur

import urllib.parse as up

# 实例化data

data = {

'kw': 'python'

}

# data编码

data_url = up.urlencode(data)

request = ur.Request(

url='https://fanyi.baidu.com/sug',

# 不仅仅url编码,还需encode转成字节

data=data_url.encode('utf-8'),

)

response = ur.urlopen(request).read()

print(response)

输出如下:

20191221004236189.png

注意:

输出结果为字节类型,为json对象,还需使用loads方法。

三、代码抽离和完善

import urllib.request as ur

import urllib.parse as up

import json

word = input('请输入要翻译的英文:')

# 实例化data

data = {

'kw': word

}

# data编码

data_url = up.urlencode(data)

request = ur.Request(

url='https://fanyi.baidu.com/sug',

# 不仅仅url编码,还需encode转成字节

data=data_url.encode('utf-8'),

)

response = ur.urlopen(request).read()

# print(response)

ret = json.loads(response)

# print(ret)

translate = ret['data'][0]['v']

print(translate)

输出如下:

20191221004923121.png

OK啦~~

简直完美。

天色已晚,明天再写《Python爬虫实战篇》吧。

为我心爱的女孩~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值