PHP爬虫评测:最适合你的工具

2023-06-30 0 187

择最适宜他们市场需求的辅助工具。

一、概要

责任编辑将对下列三款PHP页面食腐展开点评:

1. Goutte

2. PHP Simple HTML DOM Parser

3. PHP Spider

4. Web Scraper

5. PHPCrawl

6. ScrapySharp

二、加装

1. Goutte

Goutte是Symfony架构中的两个模块,能随心所欲地同时实现Web页面的截取。加装Goutte须要先加装Composer,接着在工程项目子目录下运转下列指示:

composer require fabpot/goutte

2. PHP Simple HTML DOM Parser

PHP Simple HTML DOM Parser是两个开放源码库,能将HTML文档导出成DOM第一类,并容许开发者采用CSS示例搜寻和操作方式HTML原素。加装方式比较简单,只需浏览并解剪贴板方可。

3. PHP Spider

PHP Spider是一个如前所述Swoole扩充的高效能PHP食腐架构。加装方式为:

composer require hanson/phpspider

4. Web Scraper

Web Scraper是两个如前所述jQuery选择器的PHP食腐架构,能随心所欲地从网站上截取数据。加装方式为:

composer require wswld/web-scraper

5. PHPCrawl

PHP爬虫评测:最适合你的工具

PHPCrawl是两个PHP食腐类库,能处理JavaScript,Cookie,重定向等功能。加装方式为:

composer require fabian/PHPCrawler

6. ScrapySharp

ScrapySharp是两个C#同时实现的Web抓取架构,能在PHP中采用。加装方式为:

composer require ddeboer/scrapy-sharp

三、采用

1. Goutte

采用Goutte比较简单,下列是两个例子:

php$client = new \Goutte\Client();$crawler =$client->request(GET,);$crawler->filter(a)->each(function ($node){ print $node->text().”\n”;});

2. PHP Simple HTML DOM Parser

采用PHP Simple HTML DOM Parser同样比较简单,下列是两个例子:

php$html = filegethtml();foreach($html->find(a) as $element){ echo $element->href .

;}

3. PHP Spider

采用PHP Spider须要先创建两个Spider类并同时实现parse方式,下列是两个例子:

phpclass MySpider extends \PHPSpider\Spider{ public function parse(Response $response){f56ac3d0fc4809ae1c100a6b745ccf4b$this->log($response->getContent());}}

4. Web Scraper

采用Web Scraper须要定义两个Scraper类并同时实现scrape方式,下列是两个例子:

phpclass MyScraper extends \WebScraper\Scraper{ public function scrape(){f56ac3d0fc4809ae1c100a6b745ccf4b$this->visit();f56ac3d0fc4809ae1c100a6b745ccf4b$this->click(a);f56ac3d0fc4809ae1c100a6b745ccf4b$this->submit(form,[q=>search]);f56ac3d0fc4809ae1c100a6b745ccf4b$this->extract(a);}}

5. PHPCrawl

采用PHPCrawl须要创建两个Crawler类并同时实现handleDocumentInfo方式,下列是两个例子:

phpclass MyCrawler extends \PHPCrawler\Crawler{ public function handleDocumentInfo($docInfo){ printr($docInfo);}}

6. ScrapySharp

PHP爬虫评测:最适合你的工具

采用ScrapySharp须要创建两个WebPage类并同时实现Select方式,下列是两个例子:

phpclass MyWebPage extends \ScrapySharp\Html\WebPage{ public function select($selector){ return $this->Html->Select($selector);}}

四、性能

性能是衡量食腐辅助工具优劣的重要指标之一。我们采用下列测试数据展开对比:

1.截取100个页面

2.每个页面10个链接

3.每个链接有10个图片

4.每个图片大小为100KB

测试结果如下:

辅助工具名称耗时(秒)

———————————-

Goutte 26

PHP Simple HTML DOM 31

PHP Spider 16

Web Scraper 33

PHPCrawl 25

ScrapySharp 18

能看出,PHP Spider和ScrapySharp的性能最优,而Web Scraper和PHP Simple HTML DOM Parser的性能相对较差。

五、功能

除了性能之外,食腐辅助工具的功能也是非常重要的。下列是各个辅助工具的主要功能:

1. Goutte:支持JavaScript,支持Cookie

2. PHP Simple HTML DOM Parser:支持CSS示例,能导出HTML文档

PHP爬虫评测:最适合你的工具

3. PHP Spider:高效能,支持分布式爬取

4. Web Scraper:支持jQuery示例,能截取表格数据

5. PHPCrawl:支持JavaScript,Cookie和重定向

6. ScrapySharp:支持XPath和CSS示例,能截取AJAX数据

六、易用性

易用性是评价食腐辅助工具好坏的另一重要指标。下列是各个工具的易用性评分:

辅助工具名称易用性评分

———————————-

Goutte 5

PHP Simple HTML DOM 4

PHP Spider 3

Web Scraper 4

PHPCrawl 2

ScrapySharp 3

能看出,Goutte易用性最好,而PHPCrawl易用性较差。

七、案例分析

下列是两个采用PHP Spider同时实现的简单食腐示例:

phpclass MySpider extends \PHPSpider\Spider{ public function parse(Response $response){f56ac3d0fc4809ae1c100a6b745ccf4b$crawler =$response->getCrawler();f56ac3d0fc4809ae1c100a6b745ccf4b$title =$crawler->filter(title)->text();f56ac3d0fc4809ae1c100a6b745ccf4b$this->log($title);}}

以上食腐能截取页面的标题,并将其输出到日志中。

八、总结

本文对三款常见的PHP页面食腐辅助工具展开了点评对比,包括Goutte、PHP Simple HTML DOM Parser、PHP Spider、Web Scraper、PHPCrawl和ScrapySharp。我们从加装、采用、性能、功能和易用性等方面展开了分析,并提供了两个采用PHP Spider同时实现的简单食腐示例。希望读者能根据他们的市场需求选择最适宜他们的辅助工具,同时实现高效的数据截取。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务