最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

node實現(xiàn)爬蟲的幾種簡易方式

 更新時間:2019年08月22日 08:26:09   作者:coolwan丶  
這篇文章主要給大家介紹了關于node實現(xiàn)爬蟲的幾種簡易方式,文中通過示例代碼介紹的非常詳細,對大家學習或者使用node具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧

說到爬蟲大家可能會覺得很NB的東西,可以爬小電影,羞羞圖,沒錯就是這樣的。在node爬蟲方面,我也是個新人,這篇文章主要是給大家分享幾種實現(xiàn)node

爬蟲的方式。第一種方式,采用node,js中的 superagent+request + cheerio。cheerio是必須的,它相當于node版的jQuery,用過jQuery的同學會非常容易上手。它

主要是用來獲取抓取到的頁面元素和其中的數(shù)據(jù)信息。superagent是node里一個非常方便的、輕量的、漸進式的第三方客戶端請求代理模塊,用他來請求目標頁面。

node中,http模塊也可作為客戶端使用(發(fā)送請求),第三方模塊request對其使用方法進行了封裝,操作更方便。以下是三者的引入方法:

接下來我們開始請求要爬取的目標頁面。申明目標頁面比如新浪網(wǎng)首頁:

如新浪首頁部分代碼

  

通過superagent請求目標網(wǎng)站,獲取到網(wǎng)站內(nèi)容,通過cheerio.load方法引入要解析的html
cheerio中的有關DOM操作的方式

此處采用 .each(function(index,element){...})方式遍歷需要的元素

返回結果如下:

若要將文字內(nèi)容存儲可采用以下方式:

引入fs模塊const fs= require("fs")

引入path模塊 const path=require("path")

Node.js 內(nèi)置的fs模塊就是文件系統(tǒng)模塊,負責讀寫文件。和所有其他JS模塊不同的是,fs模塊同時提供了異步和同步的方法。

在上述方法中調(diào)用存儲文字內(nèi)容mkdirs方法

//存放數(shù)據(jù)
mkdirs('./content2',saveContent); (注: content2是新建文件名;saveContent是回調(diào)函數(shù))

文字內(nèi)容最終將存儲在content2中的content.txt文件中

若想存儲圖片可采用以下方式:

第二種方式: 使用Nightmare自動化測試工具。

這里介紹一下nightmare工具的用途:

Electron可以讓你使用純JavaScript調(diào)用Chrome豐富的原生的接口來創(chuàng)造桌面應用。你可以把它看作一個專注于桌面應用的Node.js的變體,而不是Web服務器。

其基于瀏覽器的應用方式可以極方便的做各種響應式的交互

Nightmare是一個基于Electron的框架,針對Web自動化測試和爬蟲,因為其具有跟PlantomJS一樣的自動化測試的功能可以在頁面上模擬用戶的行為觸發(fā)一些異步數(shù)據(jù)加載,

也可以跟Request庫一樣直接訪問URL來抓取數(shù)據(jù),并且可以設置頁面的延遲時間,所以無論是手動觸發(fā)腳本還是行為觸發(fā)腳本都是輕而易舉的。

const Nightmare=require("nightmare") //自動化測試包 ,處理動態(tài)頁面
const nightmare=Nightmare({show: true}) show:true時,運行node可以顯示內(nèi)置模擬瀏覽器

運行結束后,會在image2中存儲下載的圖片。

好了,文章就到這里了,有什么問題歡迎小伙伴指正。

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

相關文章

  • nvm安裝步驟及使用方法

    nvm安裝步驟及使用方法

    nvm是一個管理nodejs版本的工具。在實際的開發(fā)中,有些項目的開發(fā)依賴需要低版本的nodejs運行環(huán)境,有些則需要高版本的nodejs,此時我們就需要使用nvm來切換nodejs版本,接下來通過本文給大家講解nvm安裝步驟及使用方法,感興趣的朋友一起看看吧
    2023-01-01
  • 解決npm?i?報錯以及python安裝卡住的問題

    解決npm?i?報錯以及python安裝卡住的問題

    這篇文章主要介紹了解決npm?i?報錯以及python安裝卡住的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • node.js中的fs.realpathSync方法使用說明

    node.js中的fs.realpathSync方法使用說明

    這篇文章主要介紹了node.js中的fs.realpathSync方法使用說明,本文介紹了fs.realpathSync的方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • 實例分析nodejs模塊xml2js解析xml過程中遇到的坑

    實例分析nodejs模塊xml2js解析xml過程中遇到的坑

    這篇文章主要介紹了實例分析nodejs模塊xml2js解析xml過程中遇到的坑,涉及nodejs模塊xml2js解析xml過程中parseString方法參數(shù)使用技巧,需要的朋友可以參考下
    2017-03-03
  • NodeJs下的測試框架Mocha的簡單介紹

    NodeJs下的測試框架Mocha的簡單介紹

    本篇文章主要介紹了NodeJs下的測試框架Mocha的簡單介紹,是目前最為流行的javascript框架之一,在本文我們重點介紹它在NodeJs上的使用。有興趣的可以了解一下。
    2017-02-02
  • Nodejs在局域網(wǎng)配置https訪問的實現(xiàn)方法

    Nodejs在局域網(wǎng)配置https訪問的實現(xiàn)方法

    做一個局域網(wǎng)WebRTC視頻聊天系統(tǒng),需要用到HTTPS。因此,配置Node.js使其支持HTTPS訪問。這篇文章主要介紹了Nodejs在局域網(wǎng)配置https訪問的實現(xiàn)方法,需要的朋友可以參考下
    2020-10-10
  • nodejs微信開發(fā)之自動回復的實現(xiàn)

    nodejs微信開發(fā)之自動回復的實現(xiàn)

    這篇文章主要介紹了nodejs微信開發(fā)之自動回復的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • nodejs微信開發(fā)之授權登錄+獲取用戶信息

    nodejs微信開發(fā)之授權登錄+獲取用戶信息

    這篇文章主要介紹了nodejs微信開發(fā)之授權登錄+獲取用戶信息,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • 解決下載了nodejs但npm?-v沒有反應問題的全過程

    解決下載了nodejs但npm?-v沒有反應問題的全過程

    最近工作中遇到了個問題,node安裝成功,但npm無法使用,所以下面這篇文章主要給大家介紹了關于下載了nodejs但npm?-v沒有反應問題解決的相關資料,需要的朋友可以參考下
    2022-08-08
  • node版本管理器Volta的簡單使用

    node版本管理器Volta的簡單使用

    Volta是一款強大的JavaScript工具管理器,它簡化了命令行工具的安裝和管理,本文主要介紹了node版本管理器Volta的簡單使用,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02

最新評論

安顺市| 昌黎县| 德格县| 盐山县| 横峰县| 托里县| 东乡| 鄂尔多斯市| 浦北县| 东阳市| 集安市| 邛崃市| 吉林省| 长治市| 招远市| 乐亭县| 清徐县| 龙井市| 监利县| 利辛县| 尉氏县| 九龙城区| 文登市| 涞源县| 方城县| 龙南县| 云南省| 五峰| 庄浪县| 上饶市| 镇坪县| 邯郸市| 揭阳市| 江口县| 宜君县| 江源县| 衡南县| 贵定县| 芜湖市| 昌邑市| 富裕县|