2012-11-08 47 views
0

我是scrapy框架的新手。他們有這個偉大的文件,我瞭解各種東西。我試圖將各種教育網站捲入深度級別3,在每個網站中找到cse部門(嘗試在該頁面上的鏈接中找到cse或計算機或單詞列表)。如果他們在他們的網站中擁有cse部門,那麼這些鏈接或URL將被存儲在.csv文件中。這裏是我到目前爲止的代碼:爬網使用scrapy的各種網站,並找到特定的詞

from scrapy.spider import BaseSpider 
from scrapy.selector import HtmlXPathSelector 

from dirbot.items import Website 


class DmozSpider(BaseSpider): 
    name = "dmoz" 
    allowed_domains = ["dmoz.org"] 
    start_urls = [ 
     "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/", 
     "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/", 
    ] 

    def parse(self, response): 
     hxs = HtmlXPathSelector(response) 
     sites = hxs.select('//ul/li') 
     items = [] 

     for site in sites: 
      item = Website() 
      item['name'] = site.select('a/text()').extract() 
      item['url'] = site.select('a/@href').extract() 
      item['description'] = site.select('text()').extract() 
      items.append(item) 

     return items 

問題是:在allowed_domains我要爬1000多個網站中存儲的.csv文件。我想導入csv文件並遍歷每個URL。我怎樣才能做到這一點?如果他們有cs部門那些鏈接應該寫入一個csv文件。如何修改我的XPath以查找cse部門(嘗試在每個網站中找到cse或計算機或在該頁面上鍊接的鏈接中的單詞列表)以及我在哪裏應用條件(如果鏈接有cse部門將該鏈接寫入文件否則不)。最後,我如何指定scrapy中的深度?謝謝也有可能在文件中定義單詞搜索技術並在scrapy中使用它?

回答

0

'start_urls'只是一個列表。覆蓋init,讀取csv,並組裝你的列表。

+0

什麼是允許域名持有?它是inbuild關鍵字嗎? – sachitad

+0

當然允許/預定/限制抓取的域名列表。放開它,讓所有。 –