前端设计与开发—— 新闻爬虫及查询网站建立(2)
任务简介
主要的任务是首先通过爬虫收集数据,而后建立网站进行查询和分析,由于篇幅限制,这篇博客主要介绍爬虫的设置,选取澎湃新闻,网易新闻,新浪体育这三个网站进行爬取。
数据表准备
根据要求,我们建立以下结构的数据表用于存储爬取所得的数据:
CREATE TABLE news (
source_encoding VARCHAR(20),
title VARCHAR(300) NOT NULL,
author VARCHAR(30),
publish_date VARCHAR(50),
keywords VARCHAR(100),
description VARCHAR(2000),
content TEXT,
PRIMARY KEY (title)
)
模块引用
fs用于文件读写,myRequest用于进行http请求,cheerio主要是用来获取抓取到的页面元素和其中的数据信息。其中myIconv主要进行编码转换,由于爬取的是中文页面,而request不支持GBK格式的编码,因此如果网页是GBK格式的,用该模块iconv来完成转码工作。。
var fs = require('fs');
var myRequest = require('request')
var myCheerio = require('cheerio')
var myIconv = require('iconv-lite')
定义地址
###三个页面的地址
var seedURL = 'http://sports.sina.com.cn/'
var seedURL = 'https://www.thepaper.cn/'