Zum Beispiel analysieren ich drei ähnliche URLs durchsuchen wollen:Scrapy Pipeline
https://example.com/book1
https://example.com/book2
https://example.com/book3
Was ich will, ist in der pipeline.py, dass ich erstellen 3 Dateien mit dem Namen book1, book2 und book3, und schreiben die 3 Bücher Daten richtig und separat In der Spider.py, ich kenne die drei Bücher Name, die als Dateiname, aber nicht in der Pipeline.py Sie haben eine gleiche Struktur, so entscheide ich mich wie folgt zu codieren:
class Book_Spider(scrapy.Spider):
def start_requests(self):
for url in urls:
yield scrapy.Request(url, self.parse)
def parse(self, response):
# item handling
yield item
Nun, wie kann ich tun?
woher wissen Sie den "Dateiname" oder "Buchname", weil, wenn Sie es als Spider-Parameter festlegen können Das 'process_item' der Pipeline hat das Spider als Argument, also könntest du es in' process_item' wie 'spider.filename' bekommen – eLRuLL