2011-11-06 92 views
0

我前幾天開始使用scrapy,學習了關於抓取特定站點的問題,即dmo​​z.org示例;到目前爲止,這很好,我喜歡它。正如我想了解搜索引擎開發,我的目標是爲大量的任何「顏色」和內容的網站建立一個爬蟲(和存儲,索引等)。scrapy CrawlSpider:抓取策略/隊列問題

到目前爲止,我還嘗試了深度一階和繁殖一階爬行。

我現在只使用一個規則,我設置了一些跳過的路徑和一些域。

Rule(SgmlLinkExtractor(deny=path_deny_base, deny_domains=deny_domains), 
     callback='save_page', follow=True), 

我有一個管道,一個MySQL存儲來存儲URL,身體和下載頁面的標題,通過與這些田地PageItem完成。

我現在的問題是:

  1. 是不是蠻好用的項目的頁面簡單存儲?

  2. 它是如何工作,蜘蛛檢查數據庫,如果一個網頁已被抓取(在過去的六個月內),它是內置的莫名其妙?

  3. 有沒有像黑名單無用的域名,即。佔位符域,鏈接農場等?

還有像存儲等諸多問題,但我想我停在這裏,只是多了一個通用搜索引擎的問題

  • 有沒有辦法從其他專業的爬蟲獲取爬結果數據,當然它必須通過發送硬盤來完成,否則數據量將是相同的,如果我自己抓取它們(壓縮放在一邊)。

回答

0

我會盡量回答只有兩個您的問題:

  1. 是不是蠻好用的項目的頁面簡單存儲?

據我所知,scrapy並不關心你把一個項目的現場。只有你的管道將與他們交易。

  1. 它是如何工作的蜘蛛檢查如果一個網頁已經抓取(在過去六個月即),它以某種方式內建數據庫?

Scrapy重複中間件,但它只在當前會話中過濾重複項。您必須手動阻止scrapy才能抓取您六個月前抓取的網站。

至於問題3和4 - 你不瞭解它們。

+0

重要幫助,謝謝! – groovehunter