Set-upWie url durch zwei Funktionen übergeben - Rückruf
I Wohnungsanzeigen mit scrapy bin Schaben: pro Gehäuse ad ich mehrere Gehäuseeigenschaften kratzen.
Schaben der Gehäuseeigenschaften funktioniert gut.
Problem
Neben den Gehäuseeigenschaften, möchte ich ein Bild pro Anzeige kratzen.
Ich habe den folgenden Code:
class ApartmentSpider(scrapy.Spider):
name = 'apartments'
start_urls = [
'http://www.jaap.nl/huurhuizen/noord+holland/groot-amsterdam/amsterdam'
]
def parse(self, response):
for href in response.xpath(
'//*[@id]/a',
).css("a.property-inner::attr(href)").extract():
yield scrapy.Request(response.urljoin(href),
callback=self.parse_ad) # parse_ad() scrapes housing characteristics
yield scrapy.Request(response.urljoin(href),
callback=self.parse_AdImage) # parse_AdImage() obtains one image per ad
Also, ich habe zwei yield
Befehle, die nicht funktioniert. Das heißt, ich bekomme die Eigenschaften, aber nicht die Bilder.
Ich kann die erste kommentieren, so dass ich die Bilder bekomme.
Wie behebe ich das so, dass ich beides bekomme? Danke im Voraus.
Was war die Absicht zweimal hinter Nachgeben? Es scheint die naheliegendste Lösung zu sein, beide gleichzeitig zu senden. –
Ich möchte sowohl die Eigenschaften als auch das Bild.Also zwei Renditen, da ich nicht weiß, wie ich es beherrschen soll, dass ein Ertrag mir das gewünschte Ergebnis gibt. Diese "intuitive" Lösung ist eindeutig fehlgeschlagen. – LucSpan
Warum nicht nur ein Tupel beider Ergebnisse ergeben? – alexis