博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
node.js简单爬虫
阅读量:6718 次
发布时间:2019-06-25

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

这里假设你已经安装好node.js和npm,如果没有安装,请参阅其他教程安装。

  • 配置

    首先是来配置package.json文件,这里使用express,request和cheerio。

package.json如下:

{  "name": "node-scrape",  "version": "0.0.1",  "description": "Scrape",  "main": "server.js",  "dependencies": {    "express" : "latest",    "request" : "latest",    "cheerio" : "latest"  }}
  • npm 安装

    把package.json文件放到一个你自己定义的文件夹(nodejs_scrape)下,然后在命令行下执行

cd nodejs_scrapenpm install
  • 抓取内容

    在nodejs_scrape目录下新建一个server.js文件,先定义如下变量的和方法

var express = require('express');var fs = require('fs');var request = require('request');var cheerio = require('cheerio');var app = express();app.get('/',function (req,res) {    //抓取内容的方法});app.listen('8081'); //使用8081端口console.log('Magic happens on port 8081');exports = module.exports = app;

下面我们就来完善get方法的内容

首先定义要抓取的url,这里以segmentfault为例

url  = 'https://segmentfault.com/news';

页面如下面所示,点击F12查看,我们就提取最简单的 class="mr10" 这个标签

图片描述

抓取内容的方法如下

request(url, function (err,res,html) {        if (!err){             var $ = cheerio.load(html);            var title;            $('.mr10').filter(function () {                var data = $(this);                title = data.text(); //获取标签的内容                console.log('title is ' + title); //控制台打印            });        }    });

server.js完整代码如下

/** * Created by Administrator on 2017/3/1. */var express = require('express');var fs = require('fs');var request = require('request');var cheerio = require('cheerio');var app = express();app.get('/',function (req,res) {    //all scrape magic will happen here    url  = 'https://segmentfault.com/news';    request(url, function (err,res,html) {        if (!err){            var $ = cheerio.load(html);            var title;            $('.mr10').filter(function () {                var data = $(this);                title = data.text();                console.log('title is ' + title);                            });        }    });});app.listen('8081');console.log('Magic happens on port 8081');exports = module.exports = app;
  • 运行

    在nodejs_scrape目录下运行 node server ,可以看到如下所示

图片描述

在浏览器运行http://127.0.0.1:8081/,可以看到抓取的内容如下:

抓取的标题

这样我们就完成了一个简单到不能再简单的node.js爬虫。

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

你可能感兴趣的文章
mac 上安装 Android SDK
查看>>
angular 1.x select 默认选中
查看>>
input accept属性限制文件上传格式
查看>>
JQuery扩展:TextArea在光标处插入文本
查看>>
支付宝接口使用文档说明 支付宝异步通知
查看>>
前端基础快速学习-Dom
查看>>
Java面向对象深入篇 (二)
查看>>
Hibernate get 和 load方法区别
查看>>
企业实施云ERP软件需注意哪些关键问题
查看>>
poj 2752 Seek the Name, Seek the Fame
查看>>
spring的注解注入
查看>>
在GIF图片上打水印,图片合成
查看>>
常见排序2---归并排序
查看>>
使用ln创建软链接碰到的小问题
查看>>
Android Browser学习十二 UrlInputView(2) 网络联想数据的获取详细
查看>>
ASP.NET MVC 4 for Visual Studio 2010 下载地址
查看>>
PHP配置MS SQLServer数据库连接
查看>>
HTML链接
查看>>
mac使用技巧
查看>>
PHP和MySQL实现消息队列
查看>>