最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

node如何爬取网页中的图片(附代码)

来源:懂视网 责编:小采 时间:2020-11-27 19:32:11
文档

node如何爬取网页中的图片(附代码)

node如何爬取网页中的图片(附代码):本篇文章给大家带来的内容是关于node如何爬取网页中的图片(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。目录安装node,并下载依赖搭建服务请求我们要爬取的页面,返回json安装node我们开始安装node,可以去node官网下载h
推荐度:
导读node如何爬取网页中的图片(附代码):本篇文章给大家带来的内容是关于node如何爬取网页中的图片(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。目录安装node,并下载依赖搭建服务请求我们要爬取的页面,返回json安装node我们开始安装node,可以去node官网下载h
本篇文章给大家带来的内容是关于node如何爬取网页中的图片(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

目录

  • 安装node,并下载依赖

  • 搭建服务

  • 请求我们要爬取的页面,返回json

  • 安装node

    我们开始安装node,可以去node官网下载https://nodejs.org/zh-cn/,下载完成后运行node使用,

    node -v

    安装成功后会出现你所安装的版本号。

    接下来我们使用node, 打印出hello world,新建一个名为index.js文件输入

    console.log('hello world')

    运行这个文件

    node index.js

    就会在控制面板上输出hello world

    搭建服务器

    新建一个·名为node的文件夹。

    首先你需要下载express依赖

    npm install express

    再新建一个名为demo.js的文件 目录结构如图:

    在demo.js引入下载的express

    const express = require('express');
    const app = express();
    app.get('/index', function(req, res) {
    res.end('111')
    })
    var server = app.listen(8081, function() {
     var host = server.address().address
     var port = server.address().port
     console.log("应用实例,访问地址为 http://%s:%s", host, port)
    
    })

    运行node demo.js简单的服务就搭起来了,如图:

    请求我们要爬取的页面

    请求我们要爬取的页面

    npm install superagent
    npm install superagent-charset
    npm install cheerio

    superagent 是用来发起请求的,是一个轻量的,渐进式的ajax api,可读性好,学习曲线低,内部依赖nodejs原生的请求api,适用于nodejs环境下.,也可以使用http发起请求

    superagent-charset防止爬取下来的数据乱码,更改字符格式

    cheerio为服务器特别定制的,快速、灵活、实施的jQuery核心实现.。 安装完依赖就可以引入了

    var superagent = require('superagent');
    var charset = require('superagent-charset');
    charset(superagent);
    const cheerio = require('cheerio');

    引入之后就请求我们的地址,https://www.qqtn.com/tx/weixintx_1.html,如图:

    声明地址变量:

    const baseUrl = 'https://www.qqtn.com/'

    这些设置完之后就是发请求了,接下来请看完整代码demo.js

    var superagent = require('superagent');
    var charset = require('superagent-charset');
    charset(superagent);
    var express = require('express');
    var baseUrl = 'https://www.qqtn.com/'; //输入任何网址都可以
    const cheerio = require('cheerio');
    var app = express();
    app.get('/index', function(req, res) {
     //设置请求头
     res.header("Access-Control-Allow-Origin", "*");
     res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
     res.header("Access-Control-Allow-Headers", "X-Requested-With");
     res.header('Access-Control-Allow-Headers', 'Content-Type');
     //类型
     var type = req.query.type;
     //页码
     var page = req.query.page;
     type = type || 'weixin';
     page = page || '1';
     var route = `tx/${type}tx_${page}.html`
     //网页页面信息是gb2312,所以chaeset应该为.charset('gb2312'),一般网页则为utf-8,可以直接使用.charset('utf-8')
     superagent.get(baseUrl + route)
     .charset('gb2312')
     .end(function(err, sres) {
     var items = [];
     if (err) {
     console.log('ERR: ' + err);
     res.json({ code: 400, msg: err, sets: items });
     return;
     }
     var $ = cheerio.load(sres.text);
     $('div.g-main-bg ul.g-gxlist-imgbox li a').each(function(idx, element) {
     var $element = $(element);
     var $subElement = $element.find('img');
     var thumbImgSrc = $subElement.attr('src');
     items.push({
     title: $(element).attr('title'),
     href: $element.attr('href'),
     thumbSrc: thumbImgSrc
     });
     });
     res.json({ code: 200, msg: "", data: items });
     });
    });
    var server = app.listen(8081, function() {
    
     var host = server.address().address
     var port = server.address().port
    
     console.log("应用实例,访问地址为 http://%s:%s", host, port)
    
    })

    运行demo.js就会返回我们拿到的数据,如图:

    一个简单的node爬虫就完成了。

    文档

    node如何爬取网页中的图片(附代码)

    node如何爬取网页中的图片(附代码):本篇文章给大家带来的内容是关于node如何爬取网页中的图片(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。目录安装node,并下载依赖搭建服务请求我们要爬取的页面,返回json安装node我们开始安装node,可以去node官网下载h
    推荐度:
    标签: 的图片 网站 网页
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top