Wie greife ich in einem Scrapy CrawlSpider auf eine bestimmte start_url zu?

Ich benutze Scrapy, insbesondere Scrapy'sCrawlSpider Klasse zum Scrappen von Weblinks, die bestimmte Schlüsselwörter enthalten. Ich habe eine ziemlich langestart_urls Liste, deren Einträge aus einer SQLite-Datenbank stammen, die mit einem Django-Projekt verbunden ist. Ich möchte die verkratzten Weblinks in dieser Datenbank speichern.

Ich habe zwei Django-Modelle, eines für die Start-URLs wiehttp://example.com und eine für die gekratzten Weblinks wiehttp://example.com/website1, http://example.com/website2 usw. Alle überarbeiteten Weblinks sind Unterwebsites einer der Start-URLs in derstart_urls Liste.

Das Web-Link-Modell hat eine 1: 1-Beziehung zum Start-URL-Modell, d. H. Das Web-Link-Modell hat einen Fremdschlüssel zum Start-URL-Modell. Um meine verschlüsselten Weblinks richtig in der Datenbank zu speichern, muss ich das mitteilenCrawlSpider'sparse_item() Methode, zu welcher Start-URL der gescrappte Weblink gehört. Wie kann ich das machen? Scrapy'sDjangoItem Klasse hilft in dieser Hinsicht nicht, da ich die verwendete Start-URL noch explizit definieren muss.

Mit anderen Worten, wie kann ich die aktuell verwendete Start-URL an die weiterleiten?parse_item() Methode, damit ich es zusammen mit den entsprechenden verkratzten Weblinks in der Datenbank speichern kann? Irgendwelche Ideen? Danke im Voraus!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage