從node問世以后,就不斷被JavaScript的忠實追隨者拿來干一些原來只有php、Python等后端語言才能干的事情,例如寫個爬蟲之類的,對于前端er來說,用上一些好用的輪子,你可能十幾行代碼就可以寫一個crawler哦~
爬蟲的思路十分簡單:
按照一定的規律發送 HTTP 請求獲得頁面 HTML 原始碼(必要時需要加上一定的 HTTP 頭資訊,比如 cookie 或 referer 之類)
利用正則匹配或第三方模塊決議 HTML 代碼,提取有效資料
將資料持久化到資料庫中
當然爬蟲的寫法千千萬,下面只提供吃瓜群眾都能看懂的版本~
*文章目錄*
-
1. *準備階段*
1.1. NPM
1.2. package.json
1.3. crawler.js
-
2. *學習階段*
2.1. REQUEST
2.2. CHEERIO
-
3. *建設階段*
-
4. *實驗階段*
*準備階段*
NPM
(npm:趁還沒被yarn干掉再續一秒)
首先我們需要通過npm安裝兩個模塊reuqest和cheerio來幫助我們更方便地請求和 決議頁面
終端cd到你的檔案目錄里,先裝上,一會兒我再各自講它們
package.json
裝完你可以看到你檔案夾里的package.json里已經多了兩個依賴項
crawler.js
假設你的爬蟲程式主檔案名叫crawler.js,我們需要在這個檔案里引入request和cheerio這兩個模塊
js代碼為
準備階段完成后,讓我們開始沉迷于學習階段= =
*學習階段*
REQUEST
request是個非常好用的針對HTTP請求的模塊,簡言之是對 http.request更高級的封裝,口號是——“Simplified HTTP client”
request 這個模塊可以幫你下載資料,使用方式:
隨便來個例子,假設你覺得你自己真是沉迷于學習無法自拔,是我的迷妹/癡漢一只,你想要隨時監控我博客的內容,那你就這樣寫
不過我建議你們轉去搞LV的( ?° ?? ?°)=>群瘋之下
(小學妹就不坑LV老師啦,歡迎大家自行尋找他的個人站~)
CHEERIO
cheerio模塊可以在服務器端像使用Jquery的方式一樣操作Dom結構,許多用法和jquery 的語法基本相同,為服務器特別定制的,快速、靈活、實施的jQuery核心實作,
簡言之,是服務器端的雞塊瑞(???)~
Cheerio 幾乎能夠決議任何的 HTML 和 XML document,靈活好用,灰常厲害
只需這么用:
基礎知識學習完畢,讓我們一起投入到火熱的社會主義建設中去~
*建設階段*
先把request搞上去,明確要爬的頁面,我們要爬的是A站的文章區(我不想搞B站,不想被封號TAT)
我們當然不能拍拍手,我們要用cheerio去決議我們剛請求成功的頁面
最后爬下來的結果我們把它放在result.json檔案里
最后把這句話放在request方法里
最終你的crawler.js看起來是這樣
啊~麻麻~我用16行代碼就寫了個爬蟲~╰(°▽°)╯
慢著,我們先來試驗下是否能成功
*實驗階段*
cd 到你的目錄,敲下激動人心的如下代碼
然后觀察你的檔案夾里是否多了個result.json呢,它看起來應該是如下這樣充滿了大新聞
result.json
結論
“大清亡于閉關鎖國,學習技術需要交流和資料”, 在這里我給大家準備了很多的學習資料免費獲取,包括但不限于技術干貨、大廠面試題系列、技術動向、職業生涯等一切有關程式員的分享
.web前端小白進階方法筆記,學習資料,面試題和視頻,專案原始碼免費領取
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/79810.html
標籤:JavaScript
上一篇:ES6中類和物件的注意問題
下一篇:解決git pull拉取更新代碼失敗,unable to resolve reference ‘refs/remotes/origin/xxx分支名’: reference broken問題
