2011-05-16 36 views
0

我正在使用Scrapy來刮取網站。我想刮的項目頁面如下所示:http://www.somepage.com/itempage/&page=x。其中x是從1100的任意數字。因此,我有一個SgmlLinkExractor規則與任何類似的頁面指定的回調函數。Scrapy - 沒有列表頁面,但我知道每個項目頁面的網址

該網站沒有所有項目的列表頁面,所以我想以某種方式很好scrapy刮這些網址(從1100)。這傢伙here似乎有同樣的問題,但無法弄清楚。

有沒有人有解決方案?

回答

1

如果只是一次性的事情,您可以創建一個包含所有鏈接的本地html文件file:///c:/somefile.html。開始抓取該文件並將somepage.com添加到允許的域。

或者,在解析函數中,您可以返回一個新的請求,它是下一個要被抓取的URL。

6

你可以列出所有你Spiderstart_urls屬性已知的網址:

class SomepageSpider(BaseSpider): 
    name = 'somepage.com' 
    allowed_domains = ['somepage.com'] 
    start_urls = ['http://www.somepage.com/itempage/&page=%s' % page for page in xrange(1, 101)] 

    def parse(self, response): 
     # ...