Wie kann man eine große Liste von URLs crawlen?

334
DangerBob Gaming

Ich habe eine riesige Liste von URLs. Es sieht ungefähr so ​​aus:

www.example.com/api/users/1.json www.example.com/api/users/2.json www.example.com/api/users/3.json 

Und fährt etwa 400.000 Mal fort. Ziel ist es, auf allen Seiten eine bestimmte Textzeichenfolge zu finden. Weiß jemand, wie ich das machen würde?

1
Welches Betriebssystem? Dies kann mit einem relativ einfachen Skript in Linux durchgeführt werden, in dem eine Schleife zum Lesen der Datei verwendet wird. Anschließend können Sie mit wget oder curl den Inhalt herunterladen und mit grep analysieren. davidgo vor 5 Jahren 1
Ich kann Linux auf einer VM ausführen. DangerBob Gaming vor 5 Jahren 0

1 Antwort auf die Frage

0
slm

Ich habe keine Erfahrung mit diesem Projekt, aber googeln fand ich einen, der als Scrapy bezeichnet wurde . Es ist in Python geschrieben und wird an mehreren Stellen besprochen, wie zum Beispiel:

Der zweite Link oben zeigt auch dieses Beispiel:

from scrapy.spiders import CrawlSpider, Rule from scrapy.linkextractors import LinkExtractor class ElectronicsSpider(CrawlSpider): name = "electronics" allowed_domains = ["www.olx.com.pk"] start_urls = [ 'https://www.olx.com.pk/computers-accessories/', 'https://www.olx.com.pk/tv-video-audio/', 'https://www.olx.com.pk/games-entertainment/' ]  rules = ( Rule(LinkExtractor(allow=(), restrict_css=('.pageNextPrev',)), callback="parse_item", follow=True),)  def parse_item(self, response): print('Processing..' + response.url) 

Sie können die obigen Angaben ändern, um entweder alle Ihre URLs einzubeziehen oder sie in eine separate Datei zu legen und diese Datei über Python einzulesen.

Wenn ich Sie wäre, würde ich gerne mit dem 3. Link Quotesbot beginnen, da dieses Projekt sehr unheimlich ähnlich klingt wie das, was Sie letztendlich erreichen wollen.