2 votes

analyse d'une url pour un crawler

Je suis en train d'écrire un petit crawler qui extrait quelques 5 à 10 sites tout en obtenant les liens, j'obtiens quelques urls comme ceci

../tets/index.html

si c'est le cas /test/index.html nous pouvons ajouter avec l'url de base http://www.example.com/test/index.html

que puis-je faire pour ce genre d'url.

1voto

greg0ire Points 11346

Des URL comme celles-ci sont urls relatives . ".." signifie "répertoire parent", alors que "." signifie simplement "ce répertoire", comme dans bash. Par exemple, si vous regardez cette page : http://www.someserver/test/foo/bar.html et qu'il contient une url comme celle-ci : "../baz/foobar.html", il pointera en fait vers le site suivant http://www.someserver/test/baz/foobar.html Je pense. Juste un test.

0voto

shamittomar Points 20136

Utilice dirname() pour obtenir le directoy de base, supprimez le .. en utilisant substr() et l'ajouter à cet endroit. Comme ceci :

<?php
$url = "../tets/index.html";
$currentURL = "http://example.com/somedir/anotherdir";
echo dirname($currentURL).substr($url, 2);
?>

Ces sorties :

http://example.com/somedir/tets/index.html

0voto

Alix Axel Points 63455

Jetez un coup d'œil à ceci Normalisation des URL Page Wikipedia.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X