Python爬虫库requests的用法详解【重点】


​🕶️师兄简介:机械专业,通过自学成功进入IT领域,求学期间实现经济独立,对自学、兼职、计算机、学习规划等有独到见解!「点击了解更多


🤖师兄致力解决在大学生活与学习中遇到的各种问题.


🎁 公众号「渣师兄」内回复「渣学」可获得超 5T 的新生见面礼!


🔗官方网站: 渣学网 →「zhaxueit.cn」→ 大学生活与学习一站式解决方案.


🙏找师兄帮忙「无偿」请➕💓:zhaxueit

📓进资源群「每日分享」【免费】(坑位有限)也请➕💓:zhaxueit 并备注「进群」

👀个人主页:@渣师兄 ,欢迎关注、私信师兄!


🐐 登高必自卑,行远必自迩.
🍇 我始终坚信越努力越幸运
⭐️ 那些打不倒我们的终将会让我们变得强大
🍑 希望在编程道路上深耕的小伙伴都会越来越好



Python内requests模块的使用

须知:一个网页右键检查(F12)所看到的代码是浏览器最终渲染完成的代码,它和网站服务器给你相应的源代码不一定相同,抓取数据的时候一定要以源代码为主,检查可以帮助你快速查找数据!!!

目标:

1:掌握 requests 模块的基本使用(获取url响应数据)

2:掌握 requests 模块响应对象一些基本属性

3:掌握 requests 模块响应对象的 json()方法作用


requests 模块的基本使用(获取url响应数据)

实现功能:向指定url发送请求(User-Agent经过包装)获取响应数据

语法:

1:res_obj = requests.get(url = url,headers = headers) →向目标url发送get请求,返回响应对象

html_data = res_obj.text →利用响应对象的text属性获取响应源代码

2:html_data = requests.get(url = url,headers = headers,timeout=3).text → 向目标url发送get请求,获取响应源代码

参数:

1.url:请求的目标url

2.headers:包装的请求标头信息

3.timeout:设置请求时间,如果向指定网站发送请求,等待的响应时间超过3秒,则抛出异常(可捕获用!)

注意事项:

1:在 requests 模块内的响应对象没有方法,全都是属性,例如 text 属性

2:requests 模块是第三方模块安装语法 pip3 install requests

3:响应对象的text属性获取的是字符串响应数据

截图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pAnolWv1-1638844758841)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20211013105030475.png)]

设置timeout参数抛出异常截图:

image-20211013105037895

requests 模块响应对象一些基本属性

res_obj = requests.get(url = url,headers = headers) →创建指定url服务器的响应对象

下面是响应对象的一些常用属性

res_obj.text:获取指定url的响应源代码(字符串类型的)

res_obj.content:获取指定url的响应源代码(bytes类型的,也就是二进制的响应源代码)

res_obj.url:获取服务器响应数据的真实url地址

res_obj.status_code:获取客户端与服务端进行http通信的状态码

截图:

image-20211013105054440

requests 模块响应对象的 json()方法作用

方法名:json()

语法:requests响应对象.json()

功能:将 json 格式的字符串【字典格式的字符串】转换为python格式的字典!

代码演示

不使用json()方法返回的数据类型

image-20211013105105938

使用json()方法返回的数据类型

image-20211013105112398

requests模块抓取图片、视频等【重点】

须知:一个网页右键检查(F12)所看到的代码是浏览器最终渲染完成的代码,它和网站服务器给你相应的源代码不一定相同,抓取数据的时候一定要以源代码为主,检查可以帮助你快速查找数据!!!

目标:

1:掌握抓取网站图片、视频的一些注意事项

2:掌握怎么利用 os 标准库判断一个路径是否存在以及怎么创建文件夹!

2:掌握利用 requests 模块抓取网站图片的步骤

抓取网站图片、视频的一些注意事项

图片、视频在计算机内的存储方式:图片、视频、音频均以二进制(bytes)数据的方式进行存储

图片、视频等的 url 地址:图片、视频等文件的源url地址不是浏览器最上方的地址,而是在图片上右击选择复制图片源地址的地址

抓取注意事项:

1:因此在向图片、视频等 url 源地址发送请求获取源代码数据时,应该获取二进制(bytes)网页源代码

2:获取到二进制网页源代码后,保存文件时,只要是图片、视频等,都要以二进制的方式打开指定文件!!

怎么利用 os 标准库判断一个路径是否存在以及怎么创建文件夹!

判断路径是否存在功能语法实现:

1.import os →导入模块
2.is_no = os.path.exists(指定路径文件夹或文件) →判断指定路径文件夹(文件)是否在计算机存在,是返回True,不在返回False

创建文件夹语法实现:

1.import os →导入模块
2.os.mkdir(文件夹名) →文件夹名可以是指定路径(绝对路径、相对路径)下的文件夹

代码演示:

image-20211013105138508

利用 requests 模块抓取网站图片的步骤

第一步:找到图片的源地址(不是浏览器最上方的url)

image-20211013105157588

第二步:利用 requests 模块向图片源地址发送请求,获取二进制(bytes)类型的网页源代码

实现语法:

res_obj = requests.get(url=图片源地址,headers=包装的请求头) →创建图片源地址响应对象
html_b_data = res_obj.content →利用对象的content获取网页二进制源代码

第三步:利用 os 模块判断图片待保存的路径(文件夹)是否存在,不存在创建这个路径文件夹

实现语法:

		if  os.path.exists(图片待保存文件夹路径):
			print(“路径存在”)
		elseprint(“路径不存在即将创建”)
			os.mkdir(图片待保存的文件夹路径)

第四步:根据自己的想法创建图片待保存的文件名,并且拼接图片待保存路径以及文件名

创建图片名实现语法:

1.根据图片源地址创建图片保存名称(源地址后缀必须是.jpg或者.png等): 图片源地址字符串 [ -10 : ] →获取图片源地址的最后10个字符串作为文件名

2:根据抓取的图片标题创建图片保存名称

3:单纯的遍历某个数字区间命名

拼接图片待保存路径以及文件名语法:带保存路径 + 图片带保存名

第五步:以二进制读写方法打开已经拼接好的的路径文件(不是路径文件夹)

实现语法:

with open (拼装好的路径文件,“wb”)as f :
	f.wither(向图片源地址请求的二进制源代码)

实现代码截图(部分):

image-20211013105224121

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

渣师兄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值