elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Ayuda extraer texto de una web
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda extraer texto de una web  (Leído 2,104 veces)
error404x

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Ayuda extraer texto de una web
« en: 19 Junio 2015, 03:17 am »

Hola amigo(s) , quisiera su ayuda para extraer el texto de una web .. les explico
Estoy haciendo un traductor usando el traductor de google  :xD pero tengo problemas para sacar el texto traducido  :huh: , en lugar de texto traducido solo me muestra parte del codigo fuente   :¬¬

Código
  1. Public Class Form1
  2.  
  3.    Private Sub Traductor_Button_Click(sender As Object, e As EventArgs) Handles Traductor_Button.Click
  4.        Try
  5.            Dim MIHTML As String = WebBrowser1.DocumentText
  6.            Dim Traduccion As String = WebUtility.HtmlDecode(MIHTML) 'PARA EVITAR PROBLEMAS CON LOS ACUTE,TILDE, ETC.
  7.            Traduccion = Traduccion.Remove(0, Traduccion.IndexOf("class" & """" & "hps") + 10)
  8.            Traduccion = Traduccion.Substring(0, Traduccion.IndexOf("</span"))
  9.            TextBox2.Text = Traduccion
  10.        Catch ex As Exception
  11.            MsgBox(ex.Message)
  12.        End Try
  13.        WebBrowser1.Navigate("https://translate.google.com/#auto/es" & TextBox1.Text)
  14.  
  15.    End Sub
  16.  
  17.    Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
  18.  
  19.    End Sub
  20.  
  21.    Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
  22.  
  23.    End Sub
  24.  
  25.    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
  26.        WebBrowser1.Document.GetElementById("source").SetAttribute("value", TextBox1.Text)
  27.    End Sub
  28.  
  29.    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
  30.  
  31.    End Sub
  32. End Class
  33.  



Tmbn tengo este problema, algunas veces funciona normal  :D y otras me sale este error  :(

Citar



En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: Ayuda extraer texto de una web
« Respuesta #1 en: 19 Junio 2015, 03:51 am »

Buenas

Para usar un servicio online, antes de ponerte a trastear primero tienes que analizar y/o documentarte sobre que parámetros puede tomar la query de dicho servicio.

Dicho esto, por lo que siempre he visto, es mala idea traducir la respuesta de GoogleTranslate, te va a dar cientos de problemas muy concretos de parsing, pero si aun así lo quieres intentar, entonces para intentar sacarle el máximo beneficio posible a lo que estás intentando hacer, obtén la respuesta en formato JSON, esto lo puedes hacer asignando el parámetro client con un valor que sea diferente a "t":

Ejemplo:
http://translate.google.com/translate_a/t?client=p&text=hola&sl=es&tl=en

Respuesta (RAW):
Código:
{"sentences":[{"trans":"Hello","orig":"hola","translit":"","src_translit":""}],"src":"es","server_time":26}

Respuesta formateada:
Código:
{
"sentences":
[
{
"trans":"Hello",
"orig":"hola",
"translit":"",
"src_translit":""
}
],
"src":"es",
"server_time":26
}

Puedes utilizar la ibrería JSON.Net (si no recuerdo mal la tienes disponible desde la consola NuGet de VisualStudio también) para llevar a cabo la tarea de parseo de la manera más eficiente.

PD: Hay proyectos de clientes gratuitos y muy elaborados de GoogleTranslate en C# que puedes encontrar en páginas cómo codeproject.com, pero ninguno es perfecto al intentar traducir en ciertas circunstancias (por las complicaciones variables del parseo de la respuesta). En cambio, la Web-API de pago de GoogleTranslate te lo da todo hecho de manera muy limpia y facil, sin complicaciones (al menos por lo que he visto en la documentación oficial de Google Dev).

Saludos!


« Última modificación: 19 Junio 2015, 04:41 am por Eleкtro » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Extraer el texto de un *.txt « 1 2 »
Programación Visual Basic
vivachapas 10 3,452 Último mensaje 14 Octubre 2006, 00:09 am
por vivachapas
Ayuda - Extraer un texto de un .txt [Batch]
Scripting
eXoRTH 4 5,224 Último mensaje 13 Noviembre 2011, 21:45 pm
por eXoRTH
Extraer texto de html en bat ?
Scripting
novato04 2 2,826 Último mensaje 26 Agosto 2014, 12:15 pm
por Eleкtro
Como extraer multiples datos de un archivo de texto[AYUDA]
Programación C/C++
Rastreator1010 0 1,865 Último mensaje 16 Octubre 2014, 20:17 pm
por Rastreator1010
Extraer texto de una web
Dudas Generales
pills 1 2,772 Último mensaje 21 Junio 2015, 21:29 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines