2013-02-27 97 views
2

我有一个网页爬虫,可以抓取网页上的新闻报道。如何存储Scrapy抓取的网址?

我知道如何使用XpathSelector从页面中的元素中刮取某些信息。

但是,我似乎无法弄清楚如何存储刚抓取的页面的URL。

class spidey(CrawlSpider): 
    name = 'spidey' 
    start_urls = ['http://nytimes.com'] # urls from which the spider will start crawling 
    rules = [Rule(SgmlLinkExtractor(allow=[r'page/\d+']), follow=True), 
     # r'page/\d+' : regular expression for http://nytimes.com/page/X URLs 
     Rule(SgmlLinkExtractor(allow=[r'\d{4}/\d{2}/\w+']), callback='parse_articles')] 
     # r'\d{4}/\d{2}/\w+' : regular expression for http://nytimes.com/YYYY/MM/title URLs 

我想存储每条通过这些规则的链接。

我需要添加到parse_articles以将链接存储在我的项目中?

def parse_articles(self, response): 
    item = SpideyItem() 
    item['link'] = ??? 
    return item 

回答

3

response.url是你在找什么。

有关响应对象请参见docs并查看this简单示例。