Meine Scrapy Spider ist bei Scrapinghub gehostet. Es wird über einen Run-Spider-API-Aufruf verwaltet. Das einzige, was sich bei Spider von Anruf zu Anruf ändert, ist eine Liste von Start-URLs. Die Liste kann zwischen 100 und tausend variieren. Was ist der beste Weg, Start-URLs in diesem Szenario zu aktualisieren? Von dem, was ich sehe, gibt es keine direkte Option in SH API dafür. Ich denke über das Aktualisieren von MySql mit einer Liste von URLs und einmal aktualisiert senden Sie einfach Run Job API-Aufruf. (Start-URLs werden aus der MySql-Tabelle generiert). Irgendwelche Kommentare zu einer solchen Lösung oder anderen Optionen?Update Start URLs auf scrapinghub gehosteten Scrapy-Projekt über API-Aufruf
Meine aktuelle Einstellung ist wie folgt.
def __init__(self, startUrls, *args, **kwargs):
self.keywords = ['sales','advertise','contact','about','policy','terms','feedback','support','faq']
self.startUrls = startUrls
self.startUrls = json.loads(self.startUrls)
super(MySpider, self).__init__(*args, **kwargs)
def start_requests(self):
for url in self.startUrls:
yield Request(url=url)
Danke. Dies würde perfekt für eine Liste von 10 URLs funktionieren. Aber wie gehe ich mit 1000 URLs um? –
Sie können so viele Daten "POST" wie Sie wollen ... keine Sorge ... – Umair
Was sollten die Schlüssel in URLs Array sein? –