Node.js实现网络爬虫

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

 

文章目录

  • 前言
  • 一、必要工具安装
  • 二、爬取前操作
  • 三、爬取新闻数据
  • 四、建立个人网页展示爬取内容
  • 总结

 


前言

网络爬虫是按照一定规则自动获取网络信息数据的一种程序

本次爬虫实验项目目标是选取新闻网站建立爬虫,对新闻页面进行分析,爬取出编码、标题、作者、时间、关键词、摘要、内容、来源等结构化信息并存储在数据库中,再建立个人网页提供对爬取内容的分项全文搜索。

 

一、必要工具安装

1.Node.js安装

Node.js是一个让 JavaScript 运行在服务端的开发平台,本次要使用Node.js实现网络爬虫。

官方网址https://nodejs.org/en/

选择合适的版本下载,然后不断next到选定地址安装。

判断安装成功:打开cmd,输入node -v与npm -v,若输出版本号即表示安装成功。

2.安装vscode插件

打开vscode应用商城下载node.js相关插件

3.安装数据库

这里我下载了phpstudy,使用里面自带的数据库进行后续操作

二、爬取前操作

为了使后端代码更加规范,这里使用了express框架

创建reptile文件夹存放代码模块等,用cmd运行express reptile来创建后端express项目

然后进入reptile目录下运行npm install,安装依赖包,生成package.json与package-lock.json。

打开package.json文件,修改node为nodemon,使得代码每次修改后自动重新启动服务器,之后安装nodemon模块并启动服务器。

成功创建express项目:

之后需创建爬虫路由,先创建爬虫代码(newsList.js)并在app.js中添加代码

var newsListRouter = require('./routes/newsList');

app.use('/newsList', newsListRouter)

页面内容如下:

var express = require('express');

var router = express.Router();

/* GET users listing. */

router.get('/', function(req, res, next) {

    res.send('reptile List');

});

module.exports = router;

添加爬虫需要的模块,通过npm install… -s 安装

其中cheerio是模块库,可从html的片断中构建DOM结构,然后提供像jquery一样的css选择器查询,快速、灵活、实施的jQuery核心实现。

request也是一个node.js的模块库,用于获取网页内容,即页面数据请求模块。

let cheerio = require('cheerio'); //爬虫模块

var request = require('request') //页面数据请求模块

const uk = require("unique-keygen")//生成唯一id,作为数据库id

接下来创建数据库连接,将之后爬取的新闻数据保存到数据库中

const mysql = require('mysql');

const pool = mysql.c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值