成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

八大神奇的網絡爬取庫與工具

譯文
開發 后端 開發工具
在本文中,我們將和您探討八種實用的網絡爬取庫與工具,以滿足您直接抓取網站信息和數據的業務需求。

[[261366]]

【51CTO.com快譯】網絡爬取(Web scraping,請詳見:http://www.prowebscraper.com/blog/web-scraping-using-php/)是普通商業網站的常規功能之一。不同的網站在不同的應用場景下,會用到不同的爬取任務,其中包括:產品信息和股票價格等方面。

與此同時,在網站系統的后端開發中,網絡爬取也是備受關注。在程序員的圈子內,您會經常聽到:又有人開發創建了高質量的解析器或“爬蟲”之類的新聞。

在本文中,我們將和您探討一些實用的網絡爬取庫與工具,以滿足您直接抓取網站信息和數據的業務需求。

在PHP環境中,您可以通過如下工具庫,來進行與網絡抓取相關的各項操作:

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

1. Goutte

簡介:

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

特征:

  • 適用于大型項目。
  • 基于OOP(面向對象的程序設計)。
  • 具有中等速度的解析能力。

環境要求:

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

文檔鏈接:

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

擴展閱讀:

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

2. Simple HTML DOM

簡介:

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

特征:

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

環境要求:

需要具有PHP 5以上的環境。

文檔鏈接:

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

擴展閱讀:

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

3. htmlSQL

簡介:

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

特征:

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

環境要求:

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

文檔鏈接:

https://github.com/hxseven/htmlSQL

擴展閱讀:

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

4. cURL

簡介:

  • 眾所周知,cURL是一款非常流行的、可用于從網頁中提取數據的工具庫。它屬于PHP的內置組件。
  • 作為一個標準的PHP庫,它并不包含任何第三方的文件和類。

環境要求:

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

文檔鏈接:

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

擴展閱讀:

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

5.Requests

簡介:

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

特征:

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

環境要求:

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

參考文檔:

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

6. HTTPful

簡介:

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

特征:

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

環境要求:

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

文檔鏈接:

http://phphttpclient.com/docs/

7.Buzz

簡介:

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

特征:

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

環境要求:

需要具有PHP 7.1版本。

文檔鏈接:

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

擴展閱讀:

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

8. Guzzle

簡介:

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

特征:

  • 通過其簡單的界面,您可以構建出各種查詢字符串、POST請求、大量的流式上傳與下載、HTTP Cookie以及可上傳的JSON數據。
  • 它可以在同一個接口的幫助下,以同步和異步的方式發送各種請求。
  • 它能夠將PSR-7接口運用于各種請求、響應和數據流之中。您可以籍此使用Guzzle的其他PSR-7兼容庫。
  • 通過抽象出底層的HTTP傳輸,您可以用它來編寫出獨立于環境和傳輸的程序代碼,即:不會對cURL、PHP流、套接字或非阻塞事件的循環產生強依賴性。
  • 其中間件系統使您能夠擴充和組合客戶端的各種行為。

環境要求:

需要具有PHP 5.3.3以上版本。

文檔鏈接:

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

擴展閱讀:

https://lamp-dev.com/scraping-products-from-walmart-with-php-guzzle-crawler-and-doctrine/958

結論

綜上所述,每一種網絡爬取工具都具有自己的特點和環境要求。希望上述羅列能夠幫助您更好地了解這些PHP庫與工具。您可以從中挑選出適合于自己網站系統的工具進行試用與調試。

原文標題:8 Awesome PHP Web Scraping Libraries and Tools,作者:Hiren Patel

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

責任編輯:龐桂玉 來源: 51CTO
相關推薦

2018-11-04 11:59:03

神經網絡機器學習深度學習

2018-11-01 14:59:42

2022-06-09 08:23:33

預測分析工具人工智能

2018-02-06 15:40:50

2016-08-24 15:39:46

ownCloud存儲服務器

2012-05-05 09:28:50

三星

2010-04-19 11:23:26

Oracle開發工具

2023-05-17 15:22:45

識別開源工具

2009-06-22 14:07:46

JSF優勢

2011-04-29 09:15:16

Servlet

2024-04-24 09:52:19

云技能云遷移云計算

2012-01-10 10:39:12

云計算網絡管理

2021-03-10 10:30:09

網絡企業網絡趨勢

2015-11-10 20:16:13

網絡詐騙網購安全

2019-11-21 09:46:19

漏洞補丁管理攻擊

2022-01-05 09:26:56

IT災難IT故障

2023-05-31 12:01:22

2012-02-09 10:46:24

2025-01-02 12:51:06

2023-12-27 11:45:09

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 蜜桃精品在线 | 91视频久久 | 日韩精品一区二区在线观看 | 999久久久 | 日韩三 | 欧美视频福利 | 国产69精品久久99不卡免费版 | 99国产精品一区二区三区 | 正在播放国产精品 | 欧美一区二区在线播放 | 日本黄色大片免费看 | 精品久久久久久久久久久久久久 | 国产精品久久久久久久久免费丝袜 | 91玖玖| 日韩一区二区黄色片 | 自拍偷拍第一页 | 国产精品91视频 | 久久久91| 国产精品久久久久久久一区二区 | 国产高潮好爽受不了了夜夜做 | 日韩一级一区 | 91社区在线观看高清 | 色狠狠一区 | 久久久久久成人 | 亚洲 欧美 激情 另类 校园 | jizz视频| 99久久婷婷国产综合精品电影 | 91在线资源| 国产午夜精品一区二区三区嫩草 | 国产午夜精品一区二区三区四区 | 精品欧美在线观看 | 97国产在线观看 | 日韩电影中文字幕 | 操操日| 91久久精品国产91久久 | 亚洲 欧美 日韩 精品 | 欧美成人在线影院 | 国产精品久久 | 精品91视频 | 欧美天堂 | 国产成人综合在线 |