2014-01-20 27 views
6

我可以在PHP上使用Scrapy還是有類似的工具可以使用PHP?Scrapy可以在PHP上工作嗎?

我不是技術人員,只是研究可用的網頁抓取工具及其功能來支持我的技術同事。

+2

[Scrapy](http://scrapy.org/)是用Python編寫的......所以你可以使用類似[popen]的東西(http://php.net/manual/en/function.popen.php )但是對於一個非技術人員 - 簡短的答案是否定的。 – naththedeveloper

+0

你問你是否可以編寫PHP代碼來使用Scrapy,或者如果你可以使用Scrapy來閱讀使用PHP編寫的網站? – Quentin

回答

0

使用PHP你可以不寫Scrapy蜘蛛。然而,通常使用Scrapy(在Python中編寫蜘蛛)並將提取的數據存儲在數據庫中或應用程序可訪問的內容中。例如,將提取的項目直接存儲到ElasticSearch並使您的應用程序查詢ES可以搜索/篩選/聚合數據相當簡單。但是,如果你的同事不瞭解Python,他們需要花一些時間學習語言,然後再學習Scrapy框架。

4

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'; 
}); 

More on usage

PS:請大家注意,它不會做的JavaScript。

+2

當用網絡抓取提到Goutte時,還應該提到它不會執行JavaScript。 – envision

相關問題