1 votes

Comment faire un crawl d'une grande liste d'URLs ?

J'ai une liste massive d'URL. Elle ressemble à ceci :

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

Et continue environ 400 000 fois. L'objectif est de trouver une chaîne spécifique de texte dans toutes les pages. Est-ce que quelqu'un sait comment je pourrais m'y prendre ?

0voto

Batur Points 11

Je n'ai aucune expérience avec ce projet mais en cherchant sur Google, j'ai trouvé un appelé Scrapy. Il est écrit en Python et est discuté à plusieurs endroits, comme ici :

Le 2ème lien montre également cet exemple:

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)

Vous pourriez modifier ce qui précède pour inclure tous vos URL ou les mettre dans un fichier séparé, et les lire à travers Python.

Si j'étais vous, je commencerais par le 3ème lien, quotesbot, car ce projet semble étrangement similaire à ce que vous essayez finalement d'accomplir.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X