中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

用Nodejs做一個簡單的小爬蟲

發布時間:2020-07-24 18:27:13 來源:網絡 閱讀:731 作者:tower1229 欄目:開發技術

Nodejs將JavaScript語言帶到了服務器端,作為js主力用戶的前端們,因此獲得了服務器端的開發能力,但除了用express搭建一個博客外,還有什么好玩的項目可以做呢?不如就做一個網絡爬蟲吧。據說互聯網上的流量90%以上都是爬蟲貢獻的,不知道真假,但起碼證明了,爬蟲是一種用途廣泛的東西,尤其在電商比價領域,整個就是爬蟲的技術較量,當然我要做的是爬蟲中的弱雞,只實現基本功能,先上源碼。

 

    下面簡述一下實現過程。首先挑選爬取對象,這里選擇的也是門檻比較低的新聞站cnBeta.com,因為每天上午都要去逛一逛,比較熟悉,為什么說新聞站比較簡單呢,因為通常這類網站不要求用戶登錄,所有爬蟲的請求很容易偽造。

 

    爬蟲的基本思路是,獲取頁面->構造信息選擇器->分析頁面鏈接->獲取相鄰頁面->循環第一步,對于新聞站來說,我們要獲取的就是新聞內容啦,請求到頁面html代碼后,只要從頁面中找到內容容器元素就很容易獲取到新聞內容,下一步是獲取相鄰頁面的地址,cnBeta新聞是有上一頁下一頁鏈接的,但仔細觀察會發現其實使用js動態生成的,這里需要找出js是如何獲取到鏈接的,拿到鏈接我們就繼續獲取下一篇新聞的html代碼,周而復始。

 

    期間肯定不會一帆風順,比如就遇到了301跳轉,好在從請求頭中很容易找到了跳轉目標,發現301跳轉后立即放棄請求重新請求跳轉地址就好了。

 

    另外,爬蟲不能無限制的爬取,否則很容易被封IP,需要設置一個爬取條數的限制。最好再做一個爬取間隔的設置,但這里只用作學習Nodejs,不會大量的爬取,因此也就沒必要做爬取間隔了。

 

    詳細的分析過程見另一篇文章:http://refined-x.com/2017/06/09/Nodejs%E7%88%AC%E8%99%AB%E5%AE%9E%E8%B7%B5%E5%B0%8F%E8%AE%B0/。


向AI問一下細節

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

AI

唐河县| 衡山县| 南涧| 苏州市| 泗水县| 南投市| 思南县| 伊宁市| 富川| 冕宁县| 同心县| 麻城市| 临高县| 龙里县| 通州区| 晴隆县| 灵丘县| 田阳县| 榆社县| 石阡县| 沽源县| 兰溪市| 岳阳县| 昌都县| 和静县| 克拉玛依市| 马公市| 买车| 阳泉市| 青河县| 望谟县| 台前县| 濮阳市| 共和县| 西昌市| 桂林市| 孟津县| 洪泽县| 马边| 静安区| 宁蒗|