ein paar Tagen fragte ich diese vor ergeben: scrapy getting values from multiple sitesscrapy wie aus miltiable Quellen
und ich habe gelernt, wie man Wert von website1 zu Website2 passieren. Dadurch können meine Ertragsinformationen von beiden Seiten nicht gelöst werden, wenn ich zB 10 verschiedene Seiten habe.
Ich kann Werte von Funktion zu Funktion weiterleiten, aber es scheint idiotisch. Der effizientere Weg wäre, die Informationen an die Parse-Funktion zu senden und von dort zu erhalten. Hier ist ein Pseudo-Code von dem, was ich erreichen möchte.
import scrapy
class GotoSpider(scrapy.Spider):
name = 'goto'
allowed_domains = ['first.com', 'second.com', 'third.com']
start_urls = ['http://first.com/']
def parse(self, response):
name = response.xpath(...)
price1 = scrapy.Request(second.com, callback = self.parse_check)
price2 = scrapy.Request(third.com, callback = self.parse_check2)
yield(name, price1, price2)
def parse_check(self, response):
price = response.xpath(...)
return price
def parse_check(self, response):
price = response.xpath(...)
return price
hmm scheint einfach genug. Aber warum ist es keine eingebaute Funktion? Ich denke, es ist eine gängige Idee, ein paar Websites zu scrappen und Preise unterwegs zu vergleichen. – daniel
Wenn ich mich recht erinnere, gab es einige Diskussionen über Github über die Integration in Scrapy, aber erinnere mich nicht an die Details. Dies ist eher eine Frage für Entwickler. –