AG环亚国际旗舰厅

您好,歡迎訪問甘肅AG环亚国际旗舰厅新能源科技有限公司官方網站!

www.AG环亚国际旗舰厅.中國/網址

logo
內頁

行業資訊

您當前的位置: 首頁 > 行業資訊

【甘肅AG环亚国际旗舰厅新能源】分享:推薦5個目前最好的網頁數據采集神器

時間:2020-03-10 13:33:00點擊量:11

在互聯網+數據+人工智能時代,仍然有越來越多的網頁數據采集需求,且案例眾多,網頁數據采集在企業中落地的實際應用也在不斷地顯著增加。實際工作中可能需要為一個旅遊網站獲取航班時間或Airbnb列表,或者可能需要收集數據,例如來自不同電子商務網站的價格表,以便進行價格比較。很多時候也會出於個人需要,比如為機器學習收集訓練和測試數據集等。這就是web網頁數據采集發揮作用的地方。

在這裏,我們將探討最好的網頁數據采集工具。

1. Puppeteer

https://github.com/puppeteer/puppeteer

推薦5個目前最好的網頁數據采集神器

Puppeteer是Google放出的“終極”大招,它不隻是一個網頁數據采集工具,實際上是一個Node庫,它提供了一個高階API,類似於Selenium Webdriver的高級別API,默認是通過DevTools協議控製無界麵Chrome,還可以通過配置用於有界麵Chrome。

使用Puppeteer,我們可以做以下事情:

# 用來生成網頁截圖或PDF文件。

# 用來創建全新的自動化測試環境。

# 用來捕捉網頁的時間線軌跡以診斷性能問題。

# 抓取一個SPA(單頁應用程序)並生成網頁渲染之前的內容(服務器端渲染(SSR))。

推薦5個目前最好的網頁數據采集神器

API像自然語言一樣簡潔明了,沒有callback,幾行代碼就能搞定我們所需的一切。

推薦5個目前最好的網頁數據采集神器

2. Cheerio

https://github.com/cheeriojs/cheerio

推薦5個目前最好的網頁數據采集神器

Cheerio是一個標記解析庫,提供了對結果數據(比如服務端接口返回的數據)結構進行解析的API,Cheerio最好的一點是它不像web瀏覽器那樣解釋結果數據。然而,它既不產生視覺呈現、也不加載外部資源或請求CSS。如果實際項目中需要上麵這些能力的話,就需要考慮類似PhantomJS這樣的項目。

值得注意的是,用Node.js采集數據在Cheerio中要容易得多。

比如采集http://v.163.com/special/opencourse/englishs1.html:

推薦5個目前最好的網頁數據采集神器

3.Request - Promise

https://github.com/request/request-promise

Request-Promise是npm庫中的一個變體,它通過自動化的瀏覽器提供了一個更快的解決方案。當內容不是動態呈現時,可以使用此網頁數據采集工具。如果要處理的網站有一個認證係統,它可以是一個更先進的解決方案。如果我們把它和Puppeteer相比,它的用法正好相反。

推薦5個目前最好的網頁數據采集神器

4. Nightmare

https://github.com/segmentio/nightmare

Nightmare是一個高級的瀏覽器自動化庫,它以瀏覽器的形式運行Electron程序。Electron (https://electronjs.org/)是一個使用 JavaScript, HTML 和 CSS 等 Web 技術創建原生程序的框架,兼容Mac、Windows和Linux,可以構建出三個平台的桌麵應用程序,它負責比較難搞的部分,我們隻需把精力放在應用的核心上即可【Electron剛剛加入了 OpenJS 基金會】。Nightmare是一個濃縮的版本,或者我們可以說,是一個簡化版的Puppeteer。它有提供更多靈活性的插件,包括對文件下載的支持。

Nightmare的目標是對外公開幾個使用起來像是同步的方法調用,比如goto、type和click,而不是深度嵌套的回調。最初是為在沒有api的站點之間自動化執行任務而設計的,但最常用於UI測試和數據采集。

推薦5個目前最好的網頁數據采集神器

還可以運行mocha測試。

5. Osmosis

https://www.npmjs.com/package/osmosis

Osmosis是一個HTML/XML解析器和網頁數據采集工具。它是用Node.js編寫的,用CSS3/xpath選擇器和輕量級HTTP包裝器打包。如果我們將它與Cheerio、jQuery和jsdom進行比較,則它沒有顯著的依賴性。

實例代碼如下:

推薦5個目前最好的網頁數據采集神器



部分圖文轉載自網絡,版權歸原作者所有,如有侵權請聯係我們刪除


一鍵分享:

Copyright © 2019版權所有