如何疾速高效爬取谷歌百度必应的图片
作者头像
  • 南书院之花
  • 2019-10-02 10:49:22 10

导读

有时我们需要构建自己的数据集来训练模型,但往往缺乏大量数据。这时就需要从搜索引擎(如谷歌、百度、必应)上爬取图片来创建数据集。虽然编写爬虫程序看似复杂,但我们可以利用工具简化这一过程。iCrawler就是这样一款工具,它可以帮助我们轻松完成图片爬取任务,而无需深入了解复杂的编程知识。

iCrawler

官网教程

访问iCrawler的官方文档:https://icrawler.readthedocs.io/en/latest/

功能介绍

iCrawler是一款轻量级的网络爬虫框架,采用模块化设计,使得使用和扩展更加方便。它支持多种数据类型(包括图片、视频和文本)的抓取,并且相比功能强大的Scrapy,iCrawler更加小巧灵活。此外,iCrawler还提供了多线程、异常处理和线程调度等功能,支持从主流搜索引擎(如谷歌、百度、必应)上抓取图片。

环境要求

  • Python版本:2.7及以上或3.4及以上

安装方法

可以通过以下两种方式安装iCrawler:

  1. pip安装 bash pip install icrawler

  2. conda安装 bash conda install -c hellock icrawler

使用iCrawler抓取搜索引擎上的图片

我们将通过示例演示如何使用iCrawler从百度抓取图片。对于其他搜索引擎(如必应和谷歌),操作方法类似。

示例代码

```python from icrawler.builtin import BaiduImageCrawler

设置图片保存路径

saveimgdir = r"D:dataseticrawler_dataset"

创建一个图片爬虫对象

baiducrawler = BaiduImageCrawler(storage={"rootdir": saveimgdir})

设置搜索关键词和爬取图片数量

baiducrawler.crawl(keyword="二哈", maxnum=10) ```

在抓取过程中,控制台会显示一些信息。最终抓取到的图片会保存在指定目录下。需要注意的是,有些图片可能不符合要求,用户可以根据需要进行后处理,剔除不必要的图片。

图片抓取参数设置

在抓取图片时,可以通过设置参数来过滤和筛选图片。例如,可以设置线程数来提高下载速度,或者设置过滤条件来排除不需要的图片。

参数设置示例

```python baiducrawler = BaiduImageCrawler( feederthreads=1, parserthreads=1, downloaderthreads=5, storage={"rootdir": saveimg_dir} )

filters_config = dict( type="animated", color="orange" )

baiducrawler.crawl(keyword="二哈", filters=filtersconfig, offset=0, max_num=10) ```

代理设置

如果需要爬取Google或其他海外网站的数据,建议使用代理服务器。iCrawler提供了两种代理设置方式,可以通过继承Crawler类来自定义代理池。

示例代码

python class CustomCrawler(BaiduImageCrawler): def set_proxy_pool(self): self.proxy_pool = ProxyPool() self.proxy_pool.default_scan(region='overseas', expected_num=10, out_file='proxies.json')

自定义Crawler

除了使用iCrawler提供的现成工具外,用户还可以根据自身需求自定义爬虫。具体实现方法可以参考iCrawler的官方文档。

希望这些信息对你有所帮助!如果你有任何疑问或需要进一步的帮助,请随时联系我。

    本文来源:图灵汇
责任编辑: : 南书院之花
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
疾速高效如何百度图片谷歌
    下一篇