最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

nodejs制作小爬蟲功能示例

 更新時(shí)間:2020年02月24日 10:44:11   作者:巴啦啦小能量  
這篇文章主要介紹了nodejs制作小爬蟲功能,結(jié)合實(shí)例形式分析了node.js安裝request、cheerio模塊及請(qǐng)求發(fā)送、數(shù)據(jù)庫操作等相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了nodejs制作小爬蟲功能。分享給大家供大家參考,具體如下:

1 安裝nodejs

2 安裝需要模塊

npm install request cheerio 

3 新建js文件

4 引入

const request=require("request")
const cheerio=require("cheerio")

5 利用request模塊發(fā)送請(qǐng)求

request('http://news.dgut.edu.cn/dgut/xydt/news_list.shtml',function(err,res){
  if(err)
  {
    console.log('請(qǐng)求出錯(cuò)');
  }
  else
  {
    var $ = cheerio.load(res.body, {decodeEntities: false});
    $('.listList').children('ul').children('li').each(function(){ //找到li元素對(duì)象然后通過each遍歷
      var newsTitle = $(this).children('a').text(); //得到<a>標(biāo)簽的文字
      var newsTime= $(this).children('span').eq(1).text();//得到第二個(gè)<span>標(biāo)簽的文字
      var newsUrl= "http://news.dgut.edu.cn"+$(this).children('a').attr('href');//得到<a>標(biāo)簽的href的值
    item++;
    console.log("已爬取"+item+"條記錄");
    });
  }
});

一個(gè)小爬蟲案例就完了

附上完整代碼

request('http://news.dgut.edu.cn/dgut/xydt/news_list.shtml',function(err,res){
  if(err)
  {
    console.log('請(qǐng)求出錯(cuò)');
  }
  else
  {
    var $ = cheerio.load(res.body, {decodeEntities: false});
    $('.listList').children('ul').children('li').each(function(){ //找到li元素對(duì)象然后通過each遍歷
      var newsTitle = $(this).children('a').text(); //得到<a>標(biāo)簽的文字
      var newsTime= $(this).children('span').eq(1).text();//得到第二個(gè)<span>標(biāo)簽的文字
      var newsUrl= "http://news.dgut.edu.cn"+$(this).children('a').attr('href');//得到<a>標(biāo)簽的href的值
    item++;
    console.log("已爬取"+item+"條記錄");
    });
  }
});

下面的帶數(shù)據(jù)庫

const request=require("request")
const cheerio=require("cheerio")
const mysql=require('mysql')
const db=mysql.createPool({host:'120.79.5554',user:'root',password:'root',database:'pachong'});
var item=0;
request('http://news.dgut.edu.cn/dgut/xydt/news_list.shtml',function(err,res){
  if(err)
  {
    console.log('請(qǐng)求出錯(cuò)');
  }
  else
  {
    var $ = cheerio.load(res.body, {decodeEntities: false});
    $('.listList').children('ul').children('li').each(function(){ //找到li元素對(duì)象然后通過each遍歷
      var newsTitle = $(this).children('a').text(); //得到<a>標(biāo)簽的文字
      var newsTime= $(this).children('span').eq(1).text();//得到第二個(gè)<span>標(biāo)簽的文字
      var newsUrl= "http://news.dgut.edu.cn"+$(this).children('a').attr('href');//得到<a>標(biāo)簽的href的值
      console.log(newsTitle,newsTime,newsUrl)
      db.query(`INSERT INTO news (newsTitle, newsTime, newsUrl) VALUE('${newsTitle}', '${newsTime}','${newsUrl}')`,function(err,data){
      if(err)
      {
        console.log("數(shù)據(jù)庫連接錯(cuò)誤");
      }
    })
    item++;
    console.log("已爬取"+item+"條記錄");
    });
  }
});

希望本文所述對(duì)大家node.js程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 在Node.js中發(fā)出HTTP請(qǐng)求的 5 種方法

    在Node.js中發(fā)出HTTP請(qǐng)求的 5 種方法

    學(xué)習(xí)如何在 Node.js 中發(fā)出 HTTP 請(qǐng)求可能會(huì)讓人感到不知所措,因?yàn)橛袛?shù)十個(gè)可用的庫,每個(gè)解決方案都聲稱比上一個(gè)更高效,在這篇文章中,我們將探討在 Node.js 中發(fā)出 HTTP 請(qǐng)求的五種最流行的方法,并為每種方法提供說明,需要的朋友可以參考下
    2023-11-11
  • 利用nodejs監(jiān)控文件變化并使用sftp上傳到服務(wù)器

    利用nodejs監(jiān)控文件變化并使用sftp上傳到服務(wù)器

    這篇文章主要介紹了利用nodejs監(jiān)控文件變化并使用sftp上傳到服務(wù)器的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-02-02
  • nodejs之請(qǐng)求路由概述

    nodejs之請(qǐng)求路由概述

    這篇文章主要介紹了nodejs的請(qǐng)求路由概述,需要的朋友可以參考下
    2014-07-07
  • node搭建后臺(tái)的實(shí)現(xiàn)步驟

    node搭建后臺(tái)的實(shí)現(xiàn)步驟

    本文介紹了使用Node.js搭建后臺(tái)的實(shí)現(xiàn)步驟,文章詳細(xì)闡述了每個(gè)步驟的實(shí)現(xiàn)過程,并給出了示例代碼,對(duì)于想要了解如何使用Node.js搭建后臺(tái)的讀者具有一定的參考價(jià)值
    2023-08-08
  • node獲取命令行中的參數(shù)詳解

    node獲取命令行中的參數(shù)詳解

    這篇文章主要為大家介紹了node獲取命令行中的參數(shù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • node模塊機(jī)制與異步處理詳解

    node模塊機(jī)制與異步處理詳解

    這篇文章主要介紹了node模塊機(jī)制與異步處理詳解的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • node?NPM庫增強(qiáng)版globby?Promise使用學(xué)習(xí)

    node?NPM庫增強(qiáng)版globby?Promise使用學(xué)習(xí)

    這篇文章主要為大家介紹了node?NPM庫增強(qiáng)版globby?Promise使用學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • koa router 多文件引入的方法示例

    koa router 多文件引入的方法示例

    這篇文章主要介紹了koa router 多文件引入的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-05-05
  • 使用Express處理請(qǐng)求和托管靜態(tài)資源方式

    使用Express處理請(qǐng)求和托管靜態(tài)資源方式

    這篇文章主要介紹了使用Express處理請(qǐng)求和托管靜態(tài)資源方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • axios基本用法教程示例詳解

    axios基本用法教程示例詳解

    這篇文章主要為大家介紹了axios基本用法示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05

最新評(píng)論

海盐县| 商丘市| 贵阳市| 彭州市| 吉木萨尔县| 山阳县| 阜阳市| 普定县| 邻水| 安化县| 商洛市| 信宜市| 梁河县| 安康市| 疏勒县| 五指山市| 中方县| 湖州市| 霍城县| 象州县| 兰溪市| 宾川县| 祁门县| 临安市| 天镇县| 江华| 井研县| 卢氏县| 汉沽区| 自治县| 清远市| 乳源| 昌平区| 顺昌县| 屯门区| 涞水县| 泰州市| 桂林市| 富宁县| 楚雄市| 通海县|