Ich habe ungefähr 10K URLs in einem Array. Zu einer anderen Zeit kann dies 100K sein. Ich muss sie programmatisch besuchen und die Antwort erhalten und sie ausdrucken oder etwas damit machen. Um zu verhindern, dass der Server, zu dem alle URLs gehören, erstickt, möchte ich sie nacheinander besuchen. Ich weiß, dass es das asynchrone Modul gibt, um dies zu tun. Meine Frage ist: Ist Async der einzige Weg, dies zu tun? Kann async für eine höhere Anzahl von URLs skaliert werden?So greifen Sie nacheinander auf URLs zu
0
A
Antwort
0
Verwenden Sie ein Web-Crawler-Modul wie crawler
(oder suchen Sie nach einem Crawler-Schlüsselwort auf node-modules.com oder npmjs.com).
+0
nichts in der Frage sagt nichts über Scraping oder HTML-Parsing. – AllTheTime
+0
Er sagt "oder etwas damit zu tun", so dass das Scraping sehr gut möglich ist, und der Crawler hat eine eingebaute Konfiguration, um zu steuern, wie viele Anfragen gleichzeitig ausgehen usw. –
Verwandte Themen
- 1. Navigieren Sie nacheinander zu URLs in einer Textdatei
- 2. So greifen Sie auf MySQL-Daten auf Amazon EBS zu
- 3. So greifen Sie auf ein ListViewDataItem datakeys
- 4. So greifen Sie auf die Sitzungsvariable in der Steuerung zu
- 5. So greifen Sie programmgesteuert auf G Suite DLP-Überwachungsereignisse zu
- 6. So greifen Sie auf die Kamera zu - Reactive Native
- 7. So greifen Sie auf die Android Annotation sharedPreference zu?
- 8. So greifen Sie von einem anderen Netzwerk auf NodeJS zu
- 9. So greifen Sie auf eine Liste in OCaml zu
- 10. So greifen Sie auf die integrierte automatische Abweisungsliste zu
- 11. Symfony - So greifen Sie auf das Repository der Entität zu
- 12. So greifen Sie auf die JavaScript-Rechtschreibprüfung in JavaScript zu
- 13. So greifen Sie auf das übergeordnete Formular in Delphi zu
- 14. So greifen Sie auf die übergeordneten/gleichgeordneten Modulmethoden zu
- 15. So greifen Sie auf die Breite eines Formulars zu
- 16. So greifen Sie auf die TYPO3-Einstellungen in JavaScript zu
- 17. So greifen Sie in der Komponentenansicht auf rootscope zu
- 18. So greifen Sie über die Powershell auf einen Webdienst zu?
- 19. So greifen Sie auf eine untergeordnete Klassenfunktion zu
- 20. So greifen Sie auf eine Variable außerhalb einer Funktion zu
- 21. So greifen Sie auf die übergeordneten Elemente der Thickbox zu
- 22. So greifen Sie auf lokale Kacheln in Android Phone zu:
- 23. JSON: So greifen Sie auf das Deep-Level-Array zu
- 24. So greifen Sie auf Listenelemente in einer Liste zu
- 25. So greifen Sie auf das Stammverzeichnis der Subdomäne zu
- 26. So greifen Sie auf ASP-Steuerelemente in einer Klassendatei zu
- 27. So greifen Sie auf den Tableau Server ohne Login zu:
- 28. Greifen Sie auf Djangos field.choices zu
- 29. Greifen Sie auf zuvor definierte Modelle zu
- 30. Scope: So greifen Sie auf globale Variablen in Typoskript auf
Es ist nicht erforderlich, dass die asynchrone Bibliothek eine einfache sequenzielle Iteration durch ein Array von Anforderungen durchführt. Sie könnten es verwenden, aber es ist nicht notwendig und es gibt kein Skalierungsproblem in einer sequentiellen Iteration nacheinander. – jfriend00
Siehe [Wie kann ich API-Anfragen stapeln] (http://stackoverflow.com/questions/35422377/how-can-i-- throttle-stack-of-api-requests/35422593#35422593) und [1000 Anfragen ausführen so dass nur 10 auf einmal läuft] (http://stackoverflow.com/questions/39141614/run-1000-requests-so-that-only-10-runs-at-a-time/39154813#39154813) und [ Stellen Sie mehrere Anfragen an eine API, die nur 20 Anfragen pro Minute verarbeiten kann. (Http://stackoverflow.com/questions/33378923/make-several-requests-to-a-api-that-can-only-handle-20- Anfrage-eine-Minute/33379149 # 33379149) für die Umsetzung von etwas wie Sie tun. – jfriend00
async ist gut. Wenn Sie etwas sequenziell ausführen, warum sollten Sie sich Sorgen über die Skalierung machen? Es wird einfach mehr Zeit brauchen. – AllTheTime