python爬虫用urllib还是reques,python爬虫中urllib.request和requests有什么区别?

本文详细介绍了Python中urllib.request和requests模块在爬虫中的使用区别。urllib.request是Python标准库的一部分,需要手动构造请求和header,而requests则更为便捷,直接支持get和post请求,且提供了更友好的接口。在实际爬虫工作中,requests通常因其实用性和简洁性而被更广泛地推荐使用。

127709e80cfe04271649cb3f98395295.png

在学习python爬虫,想要检索request相关内容时,往往会出现urllib.request和requests这两个词,urllib.request和requests都是python爬虫的模块,其中urllib.request是urllib库模块的请求模块,主要用来打开或者读取url,requestspython中原生的一款基于网络请求的模块,主要用于模拟浏览器发请求。本文向大家介绍python爬虫中urllib.request和requests的区别。

一、urllib.request :

urllib库模块的请求模块,主要用来打开或者读取url

返回体获取有效信息和请求体的拼接需要decode和encode后再进行装载。进行http请求时需先构造get或者post请求再进行调用。header等头文件也需先进行构造。

导入方法

Python3 自带的模块(不需要下载,导入即可使用)from urllib import request

import urllib.request

使用实例from urllib import request

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)

Chrome/64.0.3282.186 Safari/537.36',

}

url = 'http://www.baidu.com'

req = request.Request(url, headers=headers)

response = request.urlopen(req)

data = response.read().decode('UTF-8')

print(data)

二、requests:

python中原生的一款基于网络请求的模块,主要用于模拟浏览器发请求。

requests可以直接构造get,post请求并发起,而urllib.request只能先构造get,post请求,再发起。

导入方法import requests

使用实例import requests

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)

Chrome/64.0.3282.186 Safari/537.36',

}

response = requests.get('http://www.baidu.com',headers=headers)

response.encoding = 'utf-8'

print(response)

以上就是python爬虫中urllib.request和requests的区别,在使用python爬虫时,更建议用requests库,因为requests比urllib更加⽅便,可以节约我们⼤量的⼯作,完全满⾜HTTP测试需求,更多python爬虫学习推荐:python爬虫教程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值