Python爬虫教程-08-post介绍(百度翻译)(下)

2021-07-04 20:12

阅读:581

标签:imp   base   com   baidu   构造   read   文件   input   enc   

Python爬虫教程-08-post介绍(下)

为了更多的设置请求信息,单纯的通过urlopen已经不太能满足需求,此时需要使用request.Request类

构造Request 实例

req = request.Request(url=baseurl,data=data,headers=header)

发出请求

rsp = request.urlopen(req)

文件:

案例v8文件:https://xpwi.github.io/py/py%E7%88%AC%E8%99%AB/py08post2.py

# 案例v7百度翻译
# 使用Request
from urllib import request,parse
import json

baseurl = ‘http://fanyi.baidu.com/sug‘
keyword = input("请输入需要翻译的内容:")
data = {
    ‘kw‘: keyword
}

# 需要使用parse模块对data进行编码
data = parse.urlencode(data)
data = data.encode(‘utf-8‘)

header = {
    ‘Content-Length‘:len(data)
}
# 构造Request实例
req = request.Request(url=baseurl,data=data,headers=header)

# 发出请求
rsp = request.urlopen(req)

json_data = rsp.read().decode()

# 把json字符串转换为字典
json_data = json.loads(json_data)

for item in json_data[‘data‘]:
    # if item[‘k‘] == keyword:
        print(item[‘k‘], ": ", item[‘v‘])

拜拜


- 本笔记不允许任何个人和组织转载

Python爬虫教程-08-post介绍(百度翻译)(下)

标签:imp   base   com   baidu   构造   read   文件   input   enc   

原文地址:https://www.cnblogs.com/xpwi/p/9600660.html


评论


亲,登录后才可以留言!