NodeJs Express 爬取百度新聞

2021-09-14 01:50:08 字數 1530 閱讀 7705

第一步:使用express建立reptile應用

express reptile

第二步:reptile應用依賴的第三方模組(superagent 和cheerio)

superagent:superagent是node裡乙個非常方便的、輕量的、漸進式的第三方客戶端請求**模組,用他來請求目標頁面

cheerio:相當於node版的jquery,用過jquery的同學會非常容易上手。它主要是用來獲取抓取到的頁面元素和其中的資料資訊

本地安裝第三方模組(superagent 和cheerio)

cnpm install superagent

cnpm install cheerio

編輯package.json

f12開啟chrome的控制台,審查頁面元素,

經過檢視左側「熱點新聞」資訊所在dom的結構,

我們發現所有的「熱點新聞」資訊(包括新聞標題和新聞頁面鏈結)

都在id為#pane-news的下面下下的標籤中。

用jquery的選擇器表示為:#pane-news ul li a

第四步、資料爬取

在reptile/routes/index.js檔案中,使用用superagent和cheerio請求目標頁面,獲取整個新聞首頁資訊。

var express = require('express');

var router = express.router();

// 引入所需要的第三方包

var superagent= require('superagent');

// 引入所需要的第三方包

var cheerio = require('cheerio');

let hotnew = ; // 熱點新聞

/* get home page. */

router.get('/', function(req, res, next) `)

} else );

} });

});/*

熱點新聞抓取

*/let gethotnews = (res) => ;

hotnews.push(news) // 存入最終結果陣列

});return hotnews

};module.exports = router;

第五步:reptile應用安裝專案依賴模組和應用啟動

cnpm install

cnpm start

控制台輸出資料結果如下:

Python爬取小說 2 單章節爬取

coding utf 8 urlopen 開啟 request 請求 from urllib.request import urlopen,request 匯入gzip包 解壓gzip 封裝請求 req request url path,headers headers 開啟鏈結 conn urlop...

python動態爬取知乎 python爬取微博動態

在初學爬蟲的過程中,我們會發現很多 都使用ajax技術動態載入資料,和常規的 不一樣,資料是動態載入的,如果我們使用常規的方法爬取網頁,得到的只是一堆html 沒有任何的資料。比如微博就是如此,我們可以通過下滑來獲取更多的動態。對於這樣的網頁該如何抓取呢?我們以微博使用者動態為例,抓取某名使用者的文...

爬取電影資源之網頁爬取篇(python)

6v電影網的主頁分為三列,如下圖所示。該網每天會推薦一些電影 如上圖中的 今日推薦 電影質量還算可以,大部分電影評分還行。所以這部分及是我們現在要提取的部分。然後我們檢視其原始碼,找到該部分的 還是很好找的,網頁結構比較簡單 見下圖 為了驗證找到的 區域是否為我們需要的,可以把圖中框出的 複製到乙個...