单身Dog操作指南:利用cheerio 实现网络xxx图片的批量下载?

dog反过来就是god。

每一个dog的前世是god的化身..

话虽如此,我们还是需要用技术武装自己。

那么,本节我们需要准备到的东西一个是http,一个是cheerio;

利用cheerio,把你想要下载的网络图片保存起来欣赏..

我还记得以前把整个网页爬下来然后用正则匹配下来,这一招也管用。但各种匹配就容易繁琐,那么今天我们就用别人的成果---cheerio包去匹配我们所需要的网络资源。

什么是cheerio呢?

一句话概述:它是应用在服务器端的jQuery。

不是所有的牛奶都叫特仑苏,不是所有的jQuery的功能都和cherrio一样。实际上,cheerio是jQuery的子集,也有一些新的方法出现,比如toArray,clone等。这些都是方便了我们在服务器端去操控获取代码,进行过滤等相关操作。

打开cmd,在desktop执行以下功能:

新建一个文件,01test.js

引入chheerio 和http

好。现在我们已经把基本的都准备好,如何利用chherio操作呢?

看官方文档:

我们仔细观察,发现这些代码操作方式和jQuery是从一个模子里出来的啊。

声明一个常量 $,自定义也可以。不过为了跟jQuery有一个联系,推荐直接用官方的。

先加载所需要获取的代码:

和jQuery操作方法一样:

我把npm 官方上cherrio里的操作方法都copy下来。我们先观察,在测试,然后应用。

具体参考以下cheerio官方:

在实际爬取过程中,我们根据需要针对性使用以上的api。

比如,当我们需要获取网页图片时:思路如下:

第一步: 获取整个网页的代码

这个需要用到node 核心api ---http

第二步:通过cheerio获取网页代码里包含src的属性,并且该属性限制在图片(png,jpg,jpeg,gif等格式).

把所有的这些图片放在一个数组里

第三步:建立单个图片下载的函数,并保持到文件夹

第四步:通过toArray方法,把数组里所有的图片链接进行下载。

下载期间会遇到一些坑,所以还需要做一些逻辑判断和处理。

后续>

作者:yixiang/北京

介绍:每日一小步,愿与你同行~

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180215G09SBS00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券