需求
核心需求:
- 选取新闻网站3-5个(新浪新闻、网易新闻、雪球经济、东方财富、腾讯体育、虎扑体育)针对不同网站的新闻页面进行分析,爬取出编码、标题、作者、时间、关键词、摘要、内容、来源等结构化信息,存储在数据库中
- 建立网站提供对爬取内容的分项全文搜索,给出所查关键词的时间热度分析。
技术要求:
1.必须采用Node.JS实现网络爬虫。
2.必须采用Node.JS实现查询网站后端,HTML+JS实现前端。
代码示例
此代码是对学校网站一篇文章所做的最简单的爬虫实例。
var myRequest = require('request')
var myCheerio = require('cheerio')
var myURL = 'https://www.ecnu.edu.cn/e5/bc/c1950a255420/page.htm'
function request(url, callback) {//request module fetching url
var options = {
url: url, encoding: null, headers: null
}
myRequest(options, callback)
}
request(myURL, function (err, res, body) {
var html = body;
var $ = myCheerio.load(html, { decodeEntities: false });
//console.log($.html());
console.log("title: " + $('title').text());
console.log("description:" + $('meta[name="description"]').eq(0).attr("content"));
})
示例
var schedule = require('node-schedule') //设置定时爬虫
var mylconv = require('iconv-lite'); //编码转换GB2312到UTF-8
var fs = require('fs'); //保存到本地文件
var mysql = require('mysql'); //可以elasticsearch构建爬取数据的索引
实验结果
注意点
1.安装完成node.js后在cmd中确认是否正确安装完成。
2.可以下载VScode来编写代码。