requests库urllib.request库的对比

requests库urllib.request库的对比:
requests库中的get请求或其他方式的请求

import requests

url = "https://www.baidu.com/s"
params = "wd=中国"    # 查询字符串的方式,不需要像urllib那样还要进行url编码,request请求中的parmas会自动被编码
# params ={"wd":"中国"}  # 也可直接传入一个字典格式的

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36"}
# 发送请求,若要发送POST请求,只需要requests.post(...)
res = requests.get(url, verify=False, headers=headers, params=params)
print(res.text)   # 返回的是一个文本字符串,这个是requests根据猜测进行的解码,有时会有乱码,那就必须使用如下输出字节流方式解码
print(res.content)  # 返回的是一个字节流数据,可以使用res.content.decode("utf-8")方式进行解码

urllib.request库中的get或其他方式的请求:

from urllib import request
url = "https://maoyan.com/"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36"}
rq = request.Request(url,headers=headers) 
# Request类下面的get_method()方法默认只要有data数据就是post请求,也可以使用如下这种方式更改请求方式
rq.get_method = lambda :"GET"      # 若是没有data数据,则默认是get,就不需要此处代码,此处演示如何修改请求方式使用的        
print(rq.get_method(),type(rq.get_method()))
res = request.urlopen(rq)
print(res.read().decode(),type(res.read()),sep="\n")

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值