亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用nodejs寫一個代理爬蟲網站

發布時間:2021-07-15 15:39:40 來源:億速云 閱讀:184 作者:chen 欄目:大數據

這篇文章主要介紹“怎么用nodejs寫一個代理爬蟲網站”,在日常操作中,相信很多人在怎么用nodejs寫一個代理爬蟲網站問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用nodejs寫一個代理爬蟲網站”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

nodejs有很多用途,除了操作文件和做web開發之外還可以做爬蟲,今天就用簡單的幾行代碼給大家演示一下,如何用nodejs實現一個代理爬蟲。

代理爬蟲的原理主要應用了代理服務器和爬蟲,如圖所示:

怎么用nodejs寫一個代理爬蟲網站

程序的主要邏輯在代理服務器里面,轉發請求,爬取數據,處理數據。

這里應用的技術棧包括:express、axios、cheerio、art-template

用express來創建一個web服務,axios爬取網頁,cheerio處理數據、art-template渲染數據。

爬蟲的目標網站是這個小說網站:https://www.biquke.com。

網站頁面是這樣的:

怎么用nodejs寫一個代理爬蟲網站

為了簡單咱們只演示爬取其中一本小說,凡人修仙傳https://www.biquke.com/bq/0/990/,頁面如圖:

怎么用nodejs寫一個代理爬蟲網站

第一步、首先咱們先用express來構建一個web服務器,代碼如圖:

怎么用nodejs寫一個代理爬蟲網站

回顧上面的代碼,咱們設計1個路由,展示凡人修仙傳的目錄頁面。

第二步、用axios請求目標頁面,axios這個庫前后端都可以用,當在瀏覽器中使用時其內部調用的XMLhttprequest對象發送異步請求,當在node端也就是后端使用時其調用的是node的http模塊的request方法。代碼如下:

怎么用nodejs寫一個代理爬蟲網站

打印結果如下:

怎么用nodejs寫一個代理爬蟲網站

仔細觀察結果,這個結果就是一段html格式的字符串,這些字符串中包含這凡人修仙傳這本小說的內容,我們要獲取如下信息:

1、小說的書名

2、小說的最新章節

3、小說的章節列表和每一章的鏈接

如何獲取這些信息呢?難道要用正則表達式來篩選嗎?當然不是。

第三步、處理數據獲取想要得到的數據,這里我們需要熟悉一個處理頁面數據的npm包,cheerio,包的地址:

來看一下官網文檔,看一下這個包的用法。代碼如下:

怎么用nodejs寫一個代理爬蟲網站

打印結果如下:

怎么用nodejs寫一個代理爬蟲網站

從以上結果我們可以看出cheerio的作用就是將html結構的字符串轉換成類似jquerydom對象的一種格式,然后用jquery的選擇器篩選想要獲得的數據,明白了以上用法,我們就可以繼續往下進行了,處理數據,代碼如下:

怎么用nodejs寫一個代理爬蟲網站

瀏覽器端發送求,在終端查看打印結果:

怎么用nodejs寫一個代理爬蟲網站

以上便得到了我們想要的數據,只有結果不是咱們最終結果,我們希望將數據渲染成頁面返回給用戶這里就用到了art-template。

第四步、用art-template將數據渲染成頁面,代碼如下:

怎么用nodejs寫一個代理爬蟲網站

模板代碼如下:

怎么用nodejs寫一個代理爬蟲網站

注意列表在渲染的時候每一章的a標簽鏈接的處理方式。

請求首頁地址結果如下:

怎么用nodejs寫一個代理爬蟲網站

以上只是目錄頁的實現方式,接下來每一章的詳情頁,這里需要注意,詳情頁路由再設計的時候,我們設置了一個params的請求參數,通過這個參數,我們可以拼接處用戶請求的是那一章的數據,從而去處理數據。代碼如下:

怎么用nodejs寫一個代理爬蟲網站

代碼地址如下: https://github.com/clm1100/spidertest

到此,關于“怎么用nodejs寫一個代理爬蟲網站”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台山市| 泰宁县| 阿坝| 商河县| 青阳县| 和龙市| 延安市| 余庆县| 孟津县| 洪泽县| 普格县| 榆树市| 泌阳县| 东丽区| 阳朔县| 广宗县| 长兴县| 罗山县| 弥渡县| 佛学| 四子王旗| 平远县| 浦县| 醴陵市| 丽江市| 育儿| 元朗区| 临夏市| 华亭县| 平武县| 开封市| 扎赉特旗| 澎湖县| 黑水县| 新化县| 卫辉市| 岳西县| 中江县| 界首市| 古蔺县| 宁城县|