博客
关于我
nodeJs爬取图片
阅读量:494 次
发布时间:2019-03-07

本文共 1288 字,大约阅读时间需要 4 分钟。

简单的nodeJs爬取图片 小样例

1、新建node项目

npm init -y

-y 的含义:yes的意思,在init的时候省去了敲回车的步骤,生成的默认的package.json

2、安装模块

爬取图片所需要的模块

  • request request模块让http请求变的更加简单。(作为客户端,去请求、抓取另一个网站的信息)
  • cheerio cheerio 是一个 jQuery Core 的子集,其实现了 jQuery Core 中浏览器无关的 DOM 操作 API
    request cheerio 需要npm 下载
  • fs 自带 操作文件读写

3、编写抓取图片代码

1、新建 app.js

//引入模块const cheerio = require('cheerio');const fs = require('fs');const request = require('request');// 获取页面信息function start(url) {       request(url, function (err, res, body) {           if (!err && res.statusCode == 200) {               findImg(body, saveImgFile);        }    })}// url 为页面的urlstart('url')// 页面节点解析function findImg(dom,callback) {    let $ = cheerio.load(dom);//  页面节点 找到img 标签 each 循环 $('img').each((index,dom)=>{    let imgSrc = $(dom).attr('src'); // 获取图片路径 callback(imgSrc,index); })}function saveImgFile(src, index) {       console.log(src,index)    let ext = src.split('.').pop() //图片类型 png jpg  pop() 方法用于删除并返回数组的最后一个元素。    let imgName = index + '.' + ext    // if (src.indexOf('http') < 0) src = 'http:' + src    // src 路径需确保为完整路径    // 新建pic 文件夹 保存到文件夹下    request(src).pipe(fs.createWriteStream('./pic/' + imgName)) // 下载文件到本地}// 调用start  url 为页面的urlstart('http://www.netbian.com/index.htm')

目录 :page.json ,app.js ,pic文件夹

2、运行

node app.js

注:最最简单的图片抓取方法,大部分页面都支持

转载地址:http://rajcz.baihongyu.com/

你可能感兴趣的文章
Mysql学习总结(52)——最全面的MySQL 索引详解
查看>>
Mysql学习总结(53)——使用MySql开发的Java开发者规范
查看>>
Mysql学习总结(54)——MySQL 集群常用的几种高可用架构方案
查看>>
Mysql学习总结(55)——MySQL 语句大全再温习
查看>>
Mysql学习总结(56)——MySQL用户管理和权限设置
查看>>
Mysql学习总结(57)——MySQL查询当天、本周、本月、上周、本周、上月、距离当前现在6个月数据
查看>>
Mysql学习总结(58)——深入理解Mysql的四种隔离级别
查看>>
Mysql学习总结(59)——数据库分库分表策略总结
查看>>
Mysql学习总结(5)——MySql常用函数大全讲解
查看>>
Mysql学习总结(60)——并发量大、数据量大的互联网业务数据库设计规范总结
查看>>
Mysql学习总结(61)——MySQL优化之DBA级优化整理汇总
查看>>
Mysql学习总结(62)——MySQL连接com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link问题
查看>>
Mysql学习总结(63)——Mysql数据库架构方案选择与分析
查看>>
Mysql学习总结(64)——Mysql配置文件my.cnf各项参数解读
查看>>
Mysql学习总结(65)——项目实战中常用SQL实践总结
查看>>
Mysql学习总结(66)——设置MYSQL数据库编码为UTF-8
查看>>
Mysql学习总结(67)——MYSQL慢查询日志
查看>>
Mysql学习总结(68)——MYSQL统计每天、每周、每月、每年数据 SQL 总结
查看>>
Mysql学习总结(69)——Mysql EXPLAIN 命令使用总结
查看>>
Mysql学习总结(6)——MySql之ALTER命令用法详细解读
查看>>