Ich habe eine Liste von URLs, die jeweils mit einer eindeutigen ID verbunden sind. Ich möchte Scrapy verwenden, um jede der URLs herunterzuladen und sie in einer Datei zu speichern, die nach ihrer eindeutigen ID benannt ist. Ich ging durch eine grundlegende Tutorial und habe folgenden Code aber nicht sicher, wie kann ich die uid erhalten, während die Datei zu speichern nach dem Parsen -Wählen Sie den Dateinamen in scrapy
import scrapy
import json
class QuotesSpider(scrapy.Spider):
name = "quotes"
def start_requests(self):
urls = json.load(open('url_info.json'))
for entity in urls:
url = entity['url']
uid = entity['uid'] # unique id
request_object = scrapy.Request(url=url, callback=self.parse)
request_object.meta['uid'] = uid
yield request_object
def parse(self, response):
filename = 'quotes-unique-id.html' # % can I access uid here
with open(filename, 'wb') as f:
f.write(response.body)
nicht sicher, warum diese Frage abgelehnt wurde. @ tomáš-linhart Ich hatte diese Lösung früher ausprobiert, aber es gab mir einen Schlüsselfehler. Deshalb habe ich meinen obigen Code bearbeitet und die Zeile entfernt, die genau das enthält, was Sie vorgeschlagen haben. Downvotes sind frustrierend, wenn keine Gründe vorliegen :( – comiventor