Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: novato04 en 18 Agosto 2014, 18:32 pm



Título: Extraer texto de html en bat ?
Publicado por: novato04 en 18 Agosto 2014, 18:32 pm
Hola a todos me ayudarian con esto
tengo un archivo html lo que quiero hacer es sacar todas las palabras que tengan "title=el estaria aqui" y que lo guarde en formato txt  ;D

este el archivo html

Código
  1. <li class="item"><!--item_grid-->
  2.    <div class="item-grid-imagen"><!--item_imagen-->
  3.        <a href="whiplash.html" [b]title=[/b]"" class="sprite icono-play">[/url]
  4.        <a href="whiplash.html" [b]title=[/b]"Whiplash"><figure><img src="http://t1.gstatic.com/images?q=tbn:ANd9GcRP7T-olniZmihS9ZdKdcHk0fSmIKL7DwzJfHOsEor9DRdC7wHdaw" height="166"></figure>[/url]
  5.        <div class="nombre-pelicula"><p>Whiplash</p></div>
  6.     </div>

---------------------------------------------------------------------------------------------------------------------------------
Todo esto quedaria asi 

"titulos extraidos del html"
sprite icono-play
Whiplash
batman
capitan america

Por favor me pueden pasar un script para poder hacerlo lo busque en todos lados y no lo encuentro por eso estoy preguntado si me ayudan.


Título: Re: Extraer texto de html en bat ?
Publicado por: asdexiva en 25 Agosto 2014, 22:57 pm
oye ya habias preguntado esto xD y creo que te respodieron de hecho yo te lo respondi pero en python xD

aca te respondio elektro xD
http://foro.elhacker.net/scripting/como_sacar_textos_de_html_con_cmd_bat-t418947.0.html;msg1956697#msg1956697 (http://foro.elhacker.net/scripting/como_sacar_textos_de_html_con_cmd_bat-t418947.0.html;msg1956697#msg1956697)


Título: Re: Extraer texto de html en bat ?
Publicado por: Eleкtro en 26 Agosto 2014, 12:15 pm
@novato04

1. Lo mejor sería que indiques a que lenguajes tienes acceso, porque está claro que Batch no es el único que puedes manejar, y cualquier solución para otro lenguaje sería mejor que en Batch,
En Batch no puedes utilizar RegEx de forma eficiente para la tarea, ni mucho menos parsear los XPaths del documento HTML, que eso es lo que deberías hacer ya que RegEx no fue diseñado para analizar HTML's.

2. Si la intención es obtener el nombre de la película entonces creo que estás observando el DIV equivocado.

RegEx:
Esta sería la expresión regular para obtener lo que hay entre el atributo title: title="Whiplash"> aunque como ya he dicho creo que estás mirando el DIV equivocado.
Código:
\[b\]title=\[\/b\]\"([^\"]+)\"

Esta sería la expresión regular para obtener lo que hay entre el paragraph: "nombre-pelicula"><p>Whiplash</p>
Código:
\"nombre-pelicula\"\>\<p\>(.+)\<\/p\>

XPath:
Este sería el XPath parcial (incompleto) para obtener lo que hay entre el paragraph "nombre-pelicula"><p>Whiplash</p>:
Código:
.//*/li[1][@class='item']/div[1][@class='item-grid-imagen']/div[1][@class='nombre-pelicula']/p[1]

Coje un lenguaje decente capacitado para usar XPaths o RegEx y adelante, ólvida Batch. en mi opinión te sugiero utilizar C# o VB.NET, con la librería HtmlAgilityPack.

Saludos!