2016-10-09 3 views
1

Dies ist meine Spinne Seite:Wie Crawl-Seite Link in Artikel mit Scrapy zu speichern?

rules = (
     Rule(LinkExtractor(allow=r'torrents-details\.php\?id=\d*'), callback='parse_item', follow=True), 
    ) 

    def parse_item(self, response): 
     item = MovieNotifyItem() 
     item['title'] = response.xpath('//h5[@class="col s12 light center teal darken-3 white-text"]/text()').extract_first() 
     item['size'] = response.xpath('//*[@class="torrent-info"]//tr[1]/td[2]/text()').extract_first() 
     item['catagory'] = response.xpath('//*[@class="torrent-info"]//tr[2]/td[2]/text()').extract_first() 
     yield item 

Jetzt möchte ich die Seite Link in einem Element speichern Artikel sagen [ ‚page_link‘], die durch diesen Code gekrochen:

rules = (
     Rule(LinkExtractor(allow=r'torrents-details\.php\?id=\d*'), callback='parse_item', follow=True), 
    ) 

Wie kann ich tun Das ? Vielen Dank im Voraus

Antwort

0

Wenn ich richtig verstehe, Sie suchen den response.url:

def parse_item(self, response): 
    item = MovieNotifyItem() 
    item['url'] = response.url # "url" field should be defined for "MovieNotifyItem" Item class 
    # ... 
    yield item 
+0

Oh toll! Got it it thanks: D – Mohib

+0

Ich habe eine andere Frage, was ist, wenn ich eine andere Regel hatte, die zur nächsten Seite crawlen, und ich möchte das speichern, wie kann ich das tun? @alecxe – Mohib

+0

@Mohib Ich denke, dass Sie den "Referer" in diesem Fall erhalten können, finden Sie unter http://stackoverflow.com/questions/12054958/scrapyhow-to-print-request-referrer. – alecxe