您的位置:新闻资讯 >文章内容
爬虫怎么爬取图片?爬虫实现批量下载图片
来源:互联网 作者:admin 时间:2018-12-03 14:03:40

人工下载图片非常慢,可以写爬虫直接爬取大量的图片,那么爬虫怎么爬取图片?大量爬取图片需要注意什么呢?下面跟精灵代理一起去了解一下爬虫怎么爬取图片

首先让我们来创建一个名为download.py的模块。这个文件包含所有抓取和下载所需图片的函数。我们将全部功能分割成如下三个函数:

get_links

download_link

setup_download_dir

第三个函数,setup_download_dir将会创建一个存放下载的图片的目录,如果这个目录不存在的话。

我们首先结合requests和beautifulsoup4解析出网页中的全部图片链接。下载图片的任务非常简单,只要通过图片的URL抓取图片并写入文件即可。

代码看起来像这样:

爬虫怎么爬取图片

接下来我们写一个使用这些函数一张张下载图片的模块。我们把它命名为single.py。我们的第一个简单版本的图片下载器将包含一个主函数。它会调用setup_download_dir创建下载目录。然后,它会使用get_links方法抓取一系列图片的链接,由于单个网页的图片较少,这里抓取了5个网页的图片链接并把它们组合成一个列表。最后调用download_link方法将全部图片写入磁盘。这是single.py的代码:

爬虫怎么爬取图片

在我的笔记本上,这段脚本花费了166秒下载253张图片。请注意花费的时间因网络的不同会有所差异。166秒不算太长。

上文介绍了爬虫怎么爬取图片的方法,但如果我们要下载更多的图片呢?2530张而不是253张。平均下载一张图片花费约1.5秒,那么2530张图片将花费约28分钟。25300张图片将要280分钟。

其实除了上面的爬取方法,还可以通过使用并发和并行技术,其将显著提升下载速度。

提醒:在爬取的过程中,需要用到代理突破IP限制,提高爬取速度。因此,爬虫需要一个IP池,建立IP池,可以提取免费IP,或者到精灵代理提取。


相关文章内容简介
在线咨询
微信公众号

微信公众号

回到顶部