Python爬虫库中关于urllib库及requests库的总结。

本文介绍了在Python爬虫中,urllib库的基础网络请求功能以及如何添加请求头,同时对比了requests库的更简洁易用性,重点讲述了requests库的get和post方法,以及代理和cookie设置的便捷操作。
摘要由CSDN通过智能技术生成

在使用Python进行爬虫时,我们需要模拟客户端/浏览器发起网络请求,在此网络请求中,涉及到的爬虫库包含urllib库及requests库,在使用过程中,我选择采用requests库。

一、urllib库

定义:urllib库是python中一个最基本的(内置)网络请求库,可以模拟浏览器的行为,向指定的服务器发送一个请求,并且可以保存服务器返回的数据。

关于urllib的一些个相关操作如下:

1.1 无请求头,直接使用request.urlopen()完成请求

from urllib import request

url='https://movie.douban.com/top250'
resp=request.urlopen(url)        #完成请求
print(resp.read())

运行以上代码,结果为

 

418代表爬虫被发现了,被直接拦截,故此我们需加入请求头,想要增加请求头,则必须使用request.Request类 

1.2  加入请求头,使用request.Request类

from urllib import request

headers={
'User-Agent':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'
}
url='https://movie.douban.com/top250'
re=request.Request(url,headers=headers)
resp=request.urlopen(re)
print(resp.read())

以上代码在1.1爬虫结果失败的基础上加了请求头再次进行的爬取,运行结果如下:(爬取成功)

 1.3 除此之外 ,urllib库中进行代理设置,cookie设置时,步骤比较繁琐,此处相关操作将会在以后的章节中进行详细讲解。

二、Requests库

“requests 库是用Python语言编写,用于访问网络资源的第三方库,与urllib库进行相比,requests库相关操作更加简单方便,故此,我更多选择采用requests库进行爬虫。

关于requests库的一些个相关操作如下:

import requests


headers={
 'User-Agent':
 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'
 }
url='https://movie.douban.com/top250'
response=requests.get(url,headers=headers)
print(response.text)       #response.text 返回unicode编码
print(response.content)    #response.content 返回字节流数据

在requests库中,无论是使用.get函数还是使用.post函数,直接在函数()内加入请求头的参数即可,使用代理时,也只需在函数()里面加入proxies参数即可,使用cookie模拟登录,也只需在函数请求头所在内容中加入cokie相关内容传入函数中即可。相比于urllib库中相关操作,requests库中相关操作使用起来容易许多,也便于理解。

以上相关操作执行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值