这里假设你已经安装好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_scrape
npm 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 hereurl  = '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爬虫。

node.js简单爬虫相关推荐

  1. Node.js期中爬虫实验项目

    Node.js期中爬虫实验项目 期中作业要求 基础概念引入 前期准备工作 安装node.js 安装数据库 安装Navicat Premium 15 正则表达式学习网站 课堂示例演示 示例一(显示在终端 ...

  2. 运用node实现简单爬虫

    node.js的强大就无需再去重复了,越来越多的公司在使用node.js,还有一点不得不提的优势就是node用的是javascript的语言,对于前端开发工程师来说,没有理由不去get这一强大的技能. ...

  3. Node.js 简单入门

    目录 一. 什么是Nodejs 二. Nodejs组成图(对比jdk) 三. Nodejs的安装 四. 第一个Nodejs程序 五. Node实现请求响应 六. Node操作MYSQL数据库 1. 安 ...

  4. 使用Node.js制作爬虫教程

    应邀写一点使用Node.js爬点资料的实例,对于大家建站爬一些初始资料或者做分析研究的小伙伴们应该有些帮助. 目标分析 目标地址:http://wcatproject.com/charSearch/ ...

  5. 利用node.js写爬虫 爬取某相亲网站全部交友信息

    点击查看爬取世纪佳缘相亲交友信息 利用node.js,写了一个爬虫js.1个小时左右的时间,便爬取了2000多条交友信息,包括网名,年龄,图片,学历,工资等.当然,爬取的速度和网速有很大的关系,也和你 ...

  6. node.js简单实现post请求

    //需求:通过post方式实现新增英雄的功能 //1.创建服务器 //2.总体思路是:创建服务器---获取请求接口和方式---'data'监听事件接收数据---'end'事件执行完接收---把原jso ...

  7. [Node.js] 模块化 -- 爬虫

    使用第三方模块 1.新建一个文件夹,文件夹的名字非中文,名字也不要和模块名字一样. 2.进到文件夹里面去,命令运行:npm init -y这个命令可以理解成是初始化 3.下载模块, 去npm官网搜索模 ...

  8. 从零开始的Node.js新闻爬虫实验项目(四)东方财富网、网易新闻、Pixiv的爬取思路

    这是计划的第3步 有了前篇雪球网新闻的爬取代码,可以同样的爬取其他各类网站 1)东方财富网 1.一级页面 在这里,选择信息较为集中,内容丰富的"右边部分"开始分析. 观察到每一条消 ...

  9. 【Node.js】爬虫--抓取新闻标题、图片、文字描述,支持QQ、iFeng

    Sodino 文章目录 1. app.js 2. img-spider.js 3. img.gallery.js 4. ifengImgs.js 5. ifengPictures.js 6. qqIm ...

最新文章

  1. 相机定位 | cv paper整理
  2. select case语句举例_图解Go select语句原理
  3. python解释器在语法上不支持 编程方式-python解释器在语法上不支持什么编程方式_后端开发...
  4. QT的QException类的使用
  5. 收藏一些自己认为好的网站或博客
  6. vue全家桶+Koa2开发笔记(3)--mongodb
  7. 合并K个有序数组(链表)【字节跳动面试算法题】
  8. Python标准库中的shutil
  9. 利用IAR调试Mini2440
  10. Linux下yum配置及相关问题
  11. 清北第一套题(zhx)
  12. 500个运营工具大全,速度收藏!!!
  13. linux红帽子镜像下载,红帽Red Hat Linux相关产品iso镜像下载
  14. 不装oracle连接,不安装Oracle客户端连接Oracle
  15. java 存根,使用mockito使用三个参数对方法进行存根
  16. 被罗马人称为的三大蛮族去向和苏格拉的独立
  17. python读书心得体会范文_读书心得体会范文10篇
  18. ChatGPT 之父传奇:8岁学编程,16岁出柜,37岁颠覆科技圈,网友:“天选 CEO!”...
  19. 今日收获 18/4/2
  20. 如何合理管理您的时间呢?

热门文章

  1. 17校招真题题集(2)6-10
  2. 动态规划-背包是否装满
  3. Redis:18---常用功能之(Lua脚本)
  4. C++(STL):23 ---序列式容器queue源码剖析
  5. MYSQL增量备份和全量备份脚本分享
  6. C++基础学习(02)--(数据类型,变量类型,变量作用域,常量,修饰符类型)
  7. codeforces 136A-C语言解题报告
  8. c++面向对象高级编程 学习十二 模板
  9. 亚特兰大峰会精彩看点:软件吞噬世界,OpenStack是变革核心
  10. OpenCL(CUDA5.0) + Visual Studio 2010 环境配置