聚焦网络爬虫基础案例:爬取静态网页图片网址并下载

   *作为爬虫新手,这个案例可以说是最基础的一个案例,要完成的任务就是在静态网页里获取图片的地址,然后下载到电脑里面去。这里就以yh31网址的“受气包包图片系列”为实例。
   在这里进行思路分析:
   首先肯定要获取静态目标网页的网址以及网页图片源代码数据;
   然后用正则匹配不同的图片地址,产生匹配后的结果;
   最后用源代码和产生匹配后的结果找到爬取图片的地址。
   具体的代码(附加注释)如下:*
import requests#导入第三方的http请求库
import re#导入标准库(正则)
def get_urls():#定义获取动态网页网址函数
	respond = requests.get('https://qq.yh31.com/zjbq/1399178.html')#第一步
	url_add = r'<img src="(.*?)" />'#第二步
	#其中单引号内部为图片源代码数据,地址中想同的部分包留,不同的部分用 .*?表示。.表示任意不换行字符,*表示数量,?表示尽可多的短的非贪婪匹配。
	url_list = re.findall(url_add,respond.text)#第三步
	return url_list#根据打印的结果,是在数列里的一系列图片源代码数据,而最后的结果是需要图片的地址
def get_gif(url,name):# 定义第二个函数 目的:下载数据(爬取的图片)
	response = requests.get(url)
    with open('E:\\python 爬虫方向\spider data1\%d.gif'%name,'wb') as ft:
    #E:\python 爬虫方向\spider data1(图片存放的地址) respond.text指源代码 respond.content 指二进制
    	ft.write(response,content)
if __name__ == '__main__':#开始运行指令
    url_list = get_urls()
     a = 1#定义一个变量 目的:给图像命名(下载的图像以1.gif,2.gif等等方式命名)
     for url in url_list:#将列表中的数据提取出来
     com_url =  'https://qq.yh31.icom'+url#在这里进行说明一下,提取出来篇的图片源代码和图片地址之间的区别
     #https://qq.yh31.com/tp/zjbq/202002132312491484.gif(图片地址)
     #tp/zjbq/202002132312491484.gif(图片源代码)
     get_gif(com_url,a)
     a += 1
     print(com_url)

最后的结果如下:
在这里插入图片描述
谢谢大家,小编会不懈努力一直虚心做一名小白,终有一天一定会成为一名大佬,学编程的小白们,一起加油!武汉加油,中国加油!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

固执的鱼besos

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

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

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

打赏作者

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

抵扣说明:

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

余额充值