Nodejs爬取新聞列表

davidtim發表於2021-09-09

爬取地址

使用到的庫

  • superagent (頁面資料下載)

  • cheerio (頁面資料解析)

程式碼

app.js

// 引入依賴const superagent = require('superagent'); // superagent是nodejs裡一個非常方便的客戶端請求程式碼模組const cheerio = require('cheerio'); // 可以理解為一個Node.js版本的Jquery// 爬取地址const url = '';// 讀取頁面資料superagent.get(url).end((err, res) => {  if (err) throw Error(err);  let postlist = getFilterHtml(res.text);  // 存入資料庫操作...})// 過濾資料function getFilterHtml(html) {  let $ = cheerio.load(html); // 使用cheerio
  let postList = []; // 存放新聞列表的陣列

  // F12分析後的節點資料,用Jquery的語法進行過濾、摘取
  $('#listContent .news_li').each((index, item) => {    let elem = $(item);    let post = {      icon: elem.find('.tiptitleImg img').attr('src'),      title: elem.find('h2 a').text(),      intro: elem.find('p').text(),      link: elem.find('h2 a').attr('href'),      target: elem.find('.pdtt_trbs a').text(),      hot: elem.find('.pdtt_trbs .trbszan').text()
    }
    postList.push(post);
  })  return postList;
}



作者:daydreammoon
連結:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3349/viewspace-2813017/,如需轉載,請註明出處,否則將追究法律責任。

相關文章