日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
八大神奇的網(wǎng)絡(luò)爬取庫與工具

網(wǎng)絡(luò)爬取(Web scraping,請詳見:http://www.prowebscraper.com/blog/web-scraping-using-php/)是普通商業(yè)網(wǎng)站的常規(guī)功能之一。不同的網(wǎng)站在不同的應(yīng)用場景下,會用到不同的爬取任務(wù),其中包括:產(chǎn)品信息和股票價格等方面。

成都創(chuàng)新互聯(lián)長期為數(shù)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為云龍企業(yè)提供專業(yè)的成都做網(wǎng)站、網(wǎng)站建設(shè),云龍網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

與此同時,在網(wǎng)站系統(tǒng)的后端開發(fā)中,網(wǎng)絡(luò)爬取也是備受關(guān)注。在程序員的圈子內(nèi),您會經(jīng)常聽到:又有人開發(fā)創(chuàng)建了高質(zhì)量的解析器或“爬蟲”之類的新聞。

在本文中,我們將和您探討一些實用的網(wǎng)絡(luò)爬取庫與工具,以滿足您直接抓取網(wǎng)站信息和數(shù)據(jù)的業(yè)務(wù)需求。

在PHP環(huán)境中,您可以通過如下工具庫,來進(jìn)行與網(wǎng)絡(luò)抓取相關(guān)的各項操作:

  1. Goutte
  2. Simple HTML DOM
  3. htmlSQL
  4. cURL
  5. Requests
  6. HTTPful
  7. Buzz
  8. Guzzle

1. Goutte

簡介:

  • Goutte庫的神奇之處在于:它可以為您提供如何通過使用PHP技術(shù),來抓取各種內(nèi)容的詳細(xì)支持。
  • 基于Symfony框架的Goutte,是一種網(wǎng)站爬取類別的專用工具庫。
  • Goutte的實用之處在于:它不但提供了各種可用來抓取網(wǎng)站信息的API,而且能夠從HTML和XML的響應(yīng)信息中抓取各種數(shù)據(jù)。
  • Goutte持有MIT頒發(fā)的許可證。

特征:

  • 適用于大型項目。
  • 基于OOP(面向?qū)ο蟮某绦蛟O(shè)計)。
  • 具有中等速度的解析能力。

環(huán)境要求:

需要具有PHP 5.5以上和Guzzle 6以上(見下文)的環(huán)境。

文檔鏈接:

https://goutte.readthedocs.io/en/latest/

擴(kuò)展閱讀:

https://menubar.io/php-scraping-tutorial-scrape-reddit-with-goutte

2. Simple HTML DOM

簡介:

  • HTML DOM解析器是由PHP 5以上的版本編寫而成。其優(yōu)勢在于:能夠讓您輕松、便捷地通過訪問和使用HTML,來開展工作。
  • 通過它,您可以像使用jQuery那樣,快速地在HTML頁面上找到那些帶有選擇器的標(biāo)簽。
  • 您可以僅使用一行HTML代碼,來實現(xiàn)內(nèi)容的抓取。
  • 與本文介紹到的其他工具庫相比,它的運行速度并不算快。
  • Simple HTML DOM持有MIT頒發(fā)的許可證。

特征:

  • 它能夠支持那些無效的HTML。

環(huán)境要求:

需要具有PHP 5以上的環(huán)境。

文檔鏈接:

http://simplehtmldom.sourceforge.net/manual.htm

擴(kuò)展閱讀:

http://www.prowebscraper.com/blog/web-scraping-using-php/

3. htmlSQL

簡介:

  • 它實際上是一個實驗性的PHP庫。它的實用之處在于:通過它,您能夠使用類似SQL的語法,去訪問HTML的各種數(shù)值。因此,您可以在不需要編寫復(fù)雜的函數(shù)、或正則表達(dá)式的情況下,方便地獲取某些特定值。
  • 如果您是SQL的忠實粉絲,那么您一定也會喜歡這款實驗性的爬取庫。
  • 您可以將它運用到任何類型的雜項任務(wù)、以及對于網(wǎng)頁的快速解析任務(wù)之中。
  • 雖然早在2006年就停止了更新與支持,但是htmlSQL仍然是一款可靠的解析工具和抓取庫。
  • htmlSQL持有BSD頒發(fā)的許可證。

特征:

  • 它能夠提供相對快速的解析訪問,但功能比較有限。

環(huán)境要求:

  • 各種風(fēng)格的PHP 4以上環(huán)境。
  • Snoopy的PHP類(版本1.2.3,需選用Web傳輸)。

文檔鏈接:

https://github.com/hxseven/htmlSQL

擴(kuò)展閱讀:

https://github.com/hxseven/htmlSQL/tree/master/examples

4. cURL

簡介:

  • 眾所周知,cURL是一款非常流行的、可用于從網(wǎng)頁中提取數(shù)據(jù)的工具庫。它屬于PHP的內(nèi)置組件。
  • 作為一個標(biāo)準(zhǔn)的PHP庫,它并不包含任何第三方的文件和類。

環(huán)境要求:

  • 在使用PHP的cURL功能時,您只需要安裝?libcurl包(請詳見http://curl.haxx.se/)便可。當(dāng)然,作為PHP,它需要用到libcurl的7.10.5或更高版本。

文檔鏈接:

http://php.net/manual/ru/book.curl.php

擴(kuò)展閱讀:

http://scraping.pro/scraping-in-php-with-curl/

5.Requests

簡介:

  • 它是一個用PHP編寫的HTTP庫。
  • 它的API主要基于那些優(yōu)秀的Requests Python庫。
  • 您能夠通過Requests來發(fā)送HEAD、GET、POST、PUT、DELETE以及PATCH HTTP等請求。
  • 通過Requests,您可以使用簡單數(shù)組,來添加標(biāo)題、表單數(shù)據(jù)、多個文件和參數(shù)、并能以相同的方式訪問各種響應(yīng)數(shù)據(jù)。
  • Requests持有ISC頒發(fā)的許可證。

特征:

  • 持有國際域名和URL。
  • 支持瀏覽器式的SSL驗證。
  • 提供基本和摘要式的身份驗證。
  • 自解壓功能(Automatic Decompression)。
  • 連接超時管理。

環(huán)境要求:

需要具有PHP 5.2以上的版本。

參考文檔:

https://github.com/rmccue/Requests/blob/master/docs/README.md

6. HTTPful

簡介:

  • HTTPful是一個非常簡單的PHP庫。由于其設(shè)計初衷是使得HTTP具有可讀性,因此它本身既可以被作為鏈接,又具備一定的可讀性。
  • 它被公認(rèn)為非常實用的原因在于:它使得開發(fā)人員專注于與API的交互,而不必去關(guān)注那些set_opt頁面。同時,它也是一款十分優(yōu)秀的PHP REST客戶端。
  • HTTPful持有MIT頒發(fā)的許可證。

特征:

  • 可讀式地支持多種HTTP方法(GET、PUT、POST、DELETE、HEAD、PATCH和OPTIONS)。
  • 可自定義標(biāo)題(Headers)。
  • 能夠自動且“智能”地進(jìn)行解析。
  • 能夠自動進(jìn)行載荷的序列化(Payload Serialization)。
  • 支持基本認(rèn)證。
  • 提供客戶端證書的身份驗證。
  • 帶有請求的“模板”。

環(huán)境要求:

需要具有PHP 5.3以上的版本。

文檔鏈接:

http://phphttpclient.com/docs/

7.Buzz

簡介:

  • Buzz是一種實用的輕量級工具庫,您可以用它來發(fā)出HTTP請求。
  • 雖然Buzz的設(shè)計比較簡單,但是它具有各種Web瀏覽器的特性。
  • Buzz持有MIT頒發(fā)的許可證。

特征:

  • 簡單的API。
  • 具有高性能。

環(huán)境要求:

需要具有PHP 7.1版本。

文檔鏈接:

https://github.com/kriswallsmith/Buzz/blob/master/doc/index.md

擴(kuò)展閱讀:

https://github.com/kriswallsmith/Buzz/tree/master/examples

8. Guzzle

簡介:

  • 作為一款非常實用的PHP HTTP客戶端,Guzzle能夠讓您以簡單的方式發(fā)送各種HTTP請求。同時,它也能很方便地與Web服務(wù)相集成。

特征:

  • 通過其簡單的界面,您可以構(gòu)建出各種查詢字符串、POST請求、大量的流式上傳與下載、HTTP Cookie以及可上傳的JSON數(shù)據(jù)。
  • 它可以在同一個接口的幫助下,以同步和異步的方式發(fā)送各種請求。
  • 它能夠?qū)SR-7接口運用于各種請求、響應(yīng)和數(shù)據(jù)流之中。您可以籍此使用Guzzle的其他PSR-7兼容庫。
  • 通過抽象出底層的HTTP傳輸,您可以用它來編寫出獨立于環(huán)境和傳輸?shù)某绦虼a,即:不會對cURL、PHP流、套接字或非阻塞事件的循環(huán)產(chǎn)生強依賴性。
  • 其中間件系統(tǒng)使您能夠擴(kuò)充和組合客戶端的各種行為。

環(huán)境要求:

需要具有PHP 5.3.3以上版本。

文檔鏈接:

http://docs.guzzlephp.org/en/stable/

擴(kuò)展閱讀:

Scraping products from Walmart with PHP, Guzzle, Crawler and Doctrine

結(jié)論

綜上所述,每一種網(wǎng)絡(luò)爬取工具都具有自己的特點和環(huán)境要求。希望上述羅列能夠幫助您更好地了解這些PHP庫與工具。您可以從中挑選出適合于自己網(wǎng)站系統(tǒng)的工具進(jìn)行試用與調(diào)試。


文章標(biāo)題:八大神奇的網(wǎng)絡(luò)爬取庫與工具
網(wǎng)站地址:http://www.dlmjj.cn/article/cdhsjoo.html