2010-02-23 3 views
0

Voir de ces url:Comment rechercher un type particulier d'adresses Web?

http://en.wikipedia.org/wiki/1_(number)

http://en.wikipedia.org/wiki/10_(number)

http://en.wikipedia.org/wiki/100_(number)

http://en.wikipedia.org/wiki/10000_(number)

Est-il possible de rechercher une liste de toutes les pages de ce format sur le Web?

+0

Je ne comprends pas ce que vous voulez faire? Vous voulez utiliser 'grep' sur le contenu de la page Web ou vous voulez trouver toutes les URL dans le WWW correspondant à une regex? – Kaltezar

+0

J'ai utilisé 'grep' comme verbe ... Je veux" trouver toutes les URL dans le WWW correspondant à une regex ". – Lazer

Répondre

1

Je vois deux problèmes à résoudre.

La première: Vous ne disposez d'aucun répertoire central réel de toutes les URL dans le monde, et même vous ne serez pas un plan du site sur chaque site que vous connaissez

Une idée serait de vérifier si une recherche Le moteur (Google ou autre) vous permet de travailler au niveau de l'URL au lieu du niveau de contenu pour la recherche. Vous générez alors une requête de recherche qui peut renvoyer la liste des sites correspondant à votre expression régulière et essayer de le faire.

Le second: Pour certains webservices qui peuvent exposer les fonctions en tant que ressources, vous pouvez avoir une liste d'URL infinie correspondant à une expression régulière

Vous peut utiliser plusieurs postes de contrôle pour éviter cela. En passant, vous êtes confrontés au même problème que tous les moteurs de recherche ... faire un inventaire de tout le web. Personne n'a jamais résolu ce problème.

EDIT: webcrawler algorithme de base

take a list of seed sites 
for each seed 
    parse the webpage returned 
    add each link found in the page to the seed list 
    apply some algorithms for referencing the page to several keywords in a db 
+0

'faire un inventaire de tout le web'. Comment les moteurs de recherche effectuent-ils des recherches lorsqu'ils n'ont pas l'inventaire? – Lazer

+0

Ils font un inventaire. Ils utilisent 'webcrawler' pour construire un répertoire du WWW suivant un algorithme comme celui que j'ai mis dans la réponse. Mais ils ne sont pas en mesure de faire un inventaire Web complet car, comme l'univers, le Web ne cesse de croître ou de s'effondrer. – Kaltezar

1

Habituellement grep -E "http://en.wikipedia.org/wiki/10*_\(number\)" list_of_urls

Mais si vous voulez savoir si un certain site Web présente un contenu sur urls de certains formats, vous avez quelques possibilités.

  1. Il existe un sitemap, dans lequel vous pouvez récupérer votre liste_d_utilisations et l'utiliser dans grep. (http://en.wikipedia.org/wiki/Special:AllPages)
  2. Vous devez créer une liste de ces adresses et essayez-les. Il n'existe pas de moyen standard pour qu'un serveur HTTP publie toutes ses pages.
  3. La façon de Google - explorer le site en suivant les liens de sorte que vous pouvez trouver toutes les pages publiques qu'il a, puis effectuez une recherche dans la liste que vous avez construit.

En outre, Google prend en charge les mots-clés allinurl: et site:, ils pourraient également vous aider.