Ich versuche, meine Spinne über eine Liste zu gehen und alle URLs zu kratzen, die sie finden können, nachdem sie einige Daten gekratzt haben, und zurück zum nächsten ungeschnittenen Link, wenn ich die Spinne laufen lasse kann sehen, dass es auf die Startseite zurückkehrt, aber versucht die gleiche Seite erneut zu scrappen und beendet danach alle Codevorschläge, die für Python ziemlich neu sind.Scrapy Python Schleife zum nächsten unbeschriebenen Link
import scrapy
import re
from production.items import ProductionItem, ListResidentialItem
class productionSpider(scrapy.Spider):
name = "production"
allowed_domains = ["domain.com"]
start_urls = [
"http://domain.com/list"
]
def parse(self, response):
for sel in response.xpath('//html/body'):
item = ProductionItem()
item['listurl'] = sel.xpath('//a[@id="link101"]/@href').extract()[0]
request = scrapy.Request(item['listurl'], callback=self.parseBasicListingInfo)
yield request
def parseBasicListingInfo(item, response):
item = ListResidentialItem()
item['title'] = response.xpath('//span[@class="detail"]/text()').extract()
return item
zu klären: i vorbei bin [0] so dauert es nur das erste Glied der Liste , aber ich will es mit dem nächsten ungeschälter Link
ausgegeben, nachdem die Spinne weiterzulaufen:
2016-07-18 12:11:20 [scrapy] DEBUG: Crawled (200) <GET http://www.domain.com/robots.txt> (referer: None)
2016-07-18 12:11:20 [scrapy] DEBUG: Crawled (200) <GET http://www.domain.com/list> (referer: None)
2016-07-18 12:11:21 [scrapy] DEBUG: Crawled (200) <GET http://www.domain.com/link1> (referer: http://www.domain.com/list)
2016-07-18 12:11:21 [scrapy] DEBUG: Scraped from <200 http://www.domain.com/link1>
{'title': [u'\rlink1\r']}
der Code ausgeführt, aber so meins das Problem des Schleifens über die geschabten Links bleibt immer noch – user1443063
@ user1443063 'http: // domain.com/list' gibt mir 404 ist dies die Seite, die Sie versuchen zu kratzen? –
oh nein, das ist nicht die genaue Website Ich habe die meisten der persönlichen Scraping-Informationen geändert, ich schaue nur, wie man über alle Links, die es findet – user1443063