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

   *作为爬虫新手,这个案例可以说是最基础的一个案例,要完成的任务就是在静态网页里获取图片的地址,然后下载到电脑里面去。这里就以yh31网址的“受气包包图片系列”为实例。
   在这里进行思路分析:
   首先肯定要获取静态目标网页的网址以及网页图片源代码数据;
   然后用正则匹配不同的图片地址,产生匹配后的结果;
   最后用源代码和产生匹配后的结果找到爬取图片的地址。
   具体的代码(附加注释)如下:*
import requests#导入第三方的http请求库
import re#导入标准库(正则)
def get_urls():#定义获取动态网页网址函数
	respond = requests.get('https://qq.yh31.com/zjbq/1399178.html')#第一步
	url_add = r''#第二步
	#其中单引号内部为图片源代码数据,地址中想同的部分包留,不同的部分用 .*?表示。.表示任意不换行字符,*表示数量,?表示尽可多的短的非贪婪匹配。
	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)

最后的结果如下:
聚焦网络爬虫基础案例:爬取静态网页图片网址并下载_第1张图片
谢谢大家,小编会不懈努力一直虚心做一名小白,终有一天一定会成为一名大佬,学编程的小白们,一起加油!武汉加油,中国加油!

你可能感兴趣的:(聚焦网络爬虫基础案例:爬取静态网页图片网址并下载)