Obtener datos recorriendo código fuente página web
Publicado: 2013-07-14 05:12 @258
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:
En ese fragmento de código de una web (en este caso, PASTEBIN) consigo obtener los enlaces de la siguiente manera:
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í:
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...
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.003 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.003 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...