Buenos días, estoy intentando recorrer el código fuente de una página web en busca de los hipervínculos. Todo me funciona bien en las páginas, donde, por ejemplo:
Using html4strict Syntax Highlighting
<ul class="right_menu"><li><a href="/A6XyLvB4">Untitled</a><span>16 sec ago</span></li><li><a href="/p3Xinsd2">Untitled</a><span>20 sec ago</span></li>
Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4
En ese fragmento de código de una web (en este caso, PASTEBIN) consigo obtener los enlaces de la siguiente manera:
Using perl Syntax Highlighting
if ( $rsp->content =~ /<ul class=\"right_menu\">(.*)<\/ul><\/div><\/div>/ ) {
my $pastes = $1;
my $counter = 1;
while ( $pastes =~ s/<li><a href=\"\/(.*?)\">(.*?)<\/a><span>(.*?)<\/span><\/li>// ) {
Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4
Hasta ahí, bien, ya que
<ul class="right_menu"><li> aparece unido, y en mi código me recorre sin detectar saltos de línea.
El problema es, que si el código fuente de la página web, en lugar de estar como se presenta, está así:
Using html4strict Syntax Highlighting
<ul class="right_menu">
<li><a href="/A6XyLvB4">Untitled</a><span>16 sec ago</span></li>
<li><a href="/p3Xinsd2">Untitled</a><span>20 sec ago</span></li>
</ul>
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Con ese salto de línea ya no sé cómo recorrer todos los hipervínculos, ya que en cuanto recorre la primera cadena, y detecta la apertura y cierre de <li>, no sigue leyendo datos. Yo quiero que coja todo lo que hay entre
<ul class="right_menu"> y
</ul>.
Estoy rompiéndome la cabeza y no doy con la tecla...