2011-05-16 32 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): 
     # ... 
相关问题