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)
| | | |-+  Como podría remover el HTML de una página web con C#?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como podría remover el HTML de una página web con C#?  (Leído 1,944 veces)
KiddKeo

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Como podría remover el HTML de una página web con C#?
« en: 28 Febrero 2017, 12:53 pm »

Hola buenas a todos, estoy empezando en esto de la programación y quería saber si hay alguna manera de borrar el codigo HTML de una pagina desde una string?
Por ejemplo:
La web tiene un title llamado Hola
string title = "Hola"
Como podría hacer para borrar ese código?
Gracias a todos!



En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Como podría remover el HTML de una página web con C#?
« Respuesta #1 en: 28 Febrero 2017, 14:31 pm »

Te refieres un html guardado en tu pc?


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
okik


Desconectado Desconectado

Mensajes: 462


Ver Perfil
Re: Como podría remover el HTML de una página web con C#?
« Respuesta #2 en: 1 Marzo 2017, 00:51 am »

hola


puedes acceder a tu hosting usando la clase WebRequestMethods:
Clase WebRequestMethods.Ftp

WebRequestMethods.Ftp.MakeDirectory   (para crear directorios)


WebRequestMethods.Ftp.DownloadFile    (para descargar)

Cómo: descargar archivos mediante FTP


WebRequestMethods.Ftp.UploadFile    (para subir archivos)

Cómo: cargar archivos con FTP


WebRequestMethods.Ftp.DeleteFile    (para eliminar archivos)



Simplemente descarga el contenido del archivo del hosting, lo modificas en una caja de texto y luego lo vuelves a subir.

En este ejemplo al pulsar Button1 descarga el archivo y lo muestra en un textBox. Al pulsar el Button2 sube el archivo y sobrescribe el original por el contenido del TextBox (si no existe lo crea)

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using System.IO;
  11. using System.Net;
  12. namespace WindowsFormsApplication1
  13. {
  14.    public partial class Form1 : Form
  15.    {
  16.        public Form1()
  17.        {
  18.            InitializeComponent();
  19.        }
  20.  
  21.        private void Form1_Load(object sender, EventArgs e)
  22.        {
  23.  
  24.        }
  25.  
  26.  
  27.        private void button1_Click(object sender, EventArgs e)
  28.        {
  29.            // Get the object used to communicate with the server.
  30.            FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.contoso.com/test.htm");
  31.            request.Method = WebRequestMethods.Ftp.DownloadFile;
  32.  
  33.            // This example assumes the FTP site uses anonymous logon.
  34.            request.Credentials = new NetworkCredential("anonymous","janeDoe@contoso.com");
  35.  
  36.            FtpWebResponse response = (FtpWebResponse)request.GetResponse();
  37.  
  38.            Stream responseStream = response.GetResponseStream();
  39.            StreamReader reader = new StreamReader(responseStream);
  40.           textBox1.Text= (reader.ReadToEnd());
  41.  
  42.  
  43.            reader.Close();
  44.            response.Close();  
  45.  
  46.        }
  47.  
  48.        private void button2_Click(object sender, EventArgs e)
  49.        {
  50.            byte[] Data = System.Text.Encoding.Unicode.GetBytes(textBox1.Text);
  51.            FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.contoso.com/test.htm");
  52.            request.Method = WebRequestMethods.Ftp.UploadFile;
  53.            request.ContentLength = Data.Length;
  54.            request.Credentials = new NetworkCredential("anonymous","janeDoe@contoso.com");
  55.            Stream requestStream = request.GetRequestStream();
  56.            requestStream.Write(Data, 0, Data.Length);
  57.            requestStream.Close();
  58.            FtpWebResponse response = (FtpWebResponse)request.GetResponse();
  59.            response.Close();
  60.        }
  61.    }
  62. }
  63.  



« Última modificación: 1 Marzo 2017, 03:45 am por okik » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: Como podría remover el HTML de una página web con C#?
« Respuesta #3 en: 1 Marzo 2017, 06:08 am »

Si te refieres a eliminar el código interno, el Html, para dejar solamente el texto asignado en los atributos, campos o tags, tan solo tienes que utilizar la propiedad InnerText del tipo HtmlElement.

Tomando este documento html de ejemplo:
Código
  1. <!DOCTYPE html>
  2.    <HEAD>
  3.        <TITLE>My Title</TITLE>
  4.    </HEAD>
  5.    <BODY>
  6.        <h1>My Heading</h1>
  7.        <p>My Paragraph</p>
  8.   </BODY>
  9. </HTML>

Lo cargamos en una nueva instancia del tipo WebBrowser y...
Código
  1. string html = File.ReadAllText("C:\\Document.htm");
  2.  
  3. using (WebBrowser wb = new WebBrowser()) {
  4.    wb.ScriptErrorsSuppressed = true;
  5.    wb.DocumentText = html;
  6.    wb.Document.OpenNew(replaceInHistory: true);
  7.    wb.Document.Write(html);
  8.    wb.Refresh();
  9.  
  10.    Console.Write(wb.Document.GetElementsByTagName("HTML")[0].InnerText);
  11. }

Resultado de ejecución:
Cita de: Visual Studio's Debug Console
My Title
My Heading
My paragraph

PD: Este ejemplo es con un archivo local, pero puedes hacer lo mismo descargando una página online, por supuesto.

¡Saludos!
« Última modificación: 1 Marzo 2017, 06:18 am por Eleкtro » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines