一、得到要爬取的url
二、拿到网页源码
三、得到图片链接
四、保存图片
五、拓展
上一篇文章我们介绍了正则表达式的用法,这次就来实际操作一下正则表达式。
这次要爬取的是百度图片,我们应该有一个大概的思路:得到要爬取的url、拿到网页源码(我们需要的信息链接就在网页源码中)、得到图片链接、保存图片。在做这些工作之前,我们要先导入需要的第三方库requests和re,通过import来导入。
import requests
import re
下面就开始正式的爬取图片。
一、得到要爬取的url
需求:爬取一些桥梁的图片
百度搜索关键字“桥梁”,可以得到url地址如下:
url = 'https://image.baidu.com/search/index?tn=baiduimage&ct=201326592&lm=-1&cl=2&ie=gb18030&word=%C7%C5%C1%BA&fr=ala&ala=1&alatpl=adress&pos=0&hs=2&xthttps=111111'
可以看到所有图片要通过不断的下滑来呈现,无法进行翻页操作。这是因为它们属于瀑布流的数据,我们可以通过把url地址中的index改成flip,就能实现翻页操作,以便后续的图片爬取。
进行一下刷新,发现url发生了变化,加入了pn=0和ie=utf-8等新元素。这才是真正的url地址。
其中的word=后面的内容是进行了编码的关键字桥梁。具体的操作可以看我之前对关键字编码的讲解: