新闻爬虫及查询网站的实现(一):爬虫基本框架的实现

上文:
新闻爬虫及查询网站的实现(〇):实验任务与内容介绍

1. 实验内容

  1. 完成最少一个目标网站的分析和爬虫设计;
  2. 爬取不少于100条数据(每条数据包括最少3个字段,标题、内容和时间),并存储在数据库中;
  3. 完成对数据库中爬取数据内容或标题的搜索功能,搜索结果以表格形式展示在前端页面中;
  4. 完成对搜索内容的时间热度分析。

2. 实验任务

  1. 爬取数据:
    1. 利用Nodejs,实现爬虫的基本通用框架;
    2. 利用正则表达式,对要爬取的网站进行解析;
    3. 得到结构化的数据。
  2. 数据库交互。
  3. 新闻检索。
  4. 前端设计。

3. 实验步骤

1. 爬取数据

  1. 爬虫基本框架的实现

    在这里,爬虫的实现采用了Nodejs的Cheerio模块。

    引入需要的模块:

    // 引入需要的模块
    var fs = require('fs');
    var myRequest = require('request');
    var myCheerio = require('cheerio');
    var myIconv = require('iconv-lite');
    require('date-utils');
    var db = ('db.js');  // 封装好的数据库的相关操作
    

    首先,对request进行封装。

    function request(url, callback) {
     var options = {
         url: url,
         encoding: null,
         //proxy: 'http://x.x.x.x:8080',
         headers: headers,
         timeout: 10000 //
     }
     myRequest(options, callback)
    }
    

    其中,headers是给请求设置的报头,用于防止网站屏蔽爬虫。

    var headers = {
     'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36'
     }
    

    由于要在多个网站进行爬虫,所以我想用面向对象的方式来写代码,利用一个

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值