800819103
在线客服,实时响应qq群
在线客服,实时响应客服电话
13318873961人工下载图片非常慢,可以写爬虫直接爬取大量的图片,那么爬虫怎么爬取图片?大量爬取图片需要注意什么呢?下面跟精灵代理一起去了解一下爬虫怎么爬取图片。
首先让我们来创建一个名为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,或者到精灵代理提取。