Scrapy能在PHP上工作吗?

8

我能在PHP中使用Scrapy吗?还有没有类似的工具适用于PHP?

虽然我不是技术人员,但我正在研究现有的网络爬虫工具及其特点,以便支持我的技术同事。


2
Scrapy是用Python编写的...所以你可以使用像popen这样的东西,但对于非技术人员来说,简短的答案是否定的。 - naththedeveloper
你是在问是否可以编写 PHP 代码来利用 Scrapy,还是可以使用 Scrapy 来读取使用 PHP 编写的网站? - Quentin
3个回答

9

Scrapy是针对Python的,无法在PHP中使用。

然而,在PHP中您可以使用Goutte来完成这项工作。它使用Guzzle HTTP和Symfony组件,如BrowserKit和DomCrawler在后台执行此任务。

看看这个:

use Goutte\Client;

$client = new Client();

// Go to the symfony.com website
$crawler = $client->request('GET', 'http://www.symfony.com/blog/');

// Get the latest post in this category and display the titles
$crawler->filter('h2 > a')->each(function ($node) {
    echo $node->text().'\n';
});

更多用法

注意,它不支持JavaScript。


3
提到 Goutte 网页抓取时应注意它不支持 JavaScript。 - ux.engineer


0

你不能使用PHP编写Scrapy爬虫。

尽管如此,通常使用Scrapy(使用Python编写爬虫)并将提取的数据存储在数据库或应用程序可访问的其他地方非常普遍。例如,直接将提取的项目存储到ElasticSearch中并使您的应用程序查询ES以搜索/过滤/聚合数据相当容易。

但是,如果您的同事不了解Python,则需要花费一些时间学习语言,然后再学习Scrapy框架。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接