Arimatas Ответов: 1

Быстрый способ анализа и редактирования HTML с веб-сайта


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net;
using System.IO;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private String webText;

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            WebClient web = new WebClient();
            System.IO.Stream stream = web.OpenRead("https://de.wikipedia.org");
            using (System.IO.StreamReader reader = new System.IO.StreamReader(stream))
            {
                webText = reader.ReadToEnd();   
            }
            stream.Close();

            richTextBox1.Text = webText;
            }   
    }
}


Что я уже пробовал:

Этот код работает довольно хорошо, чтобы отобразить весь исходный код.

Но я хотел бы пройти через исходный код, используя функцию getElementById.
По-видимому, эта функция ограничена типами htmlDocument, и я не смог найти способ преобразовать строку, которую я получаю обратно из своего потока, в htmlDocument.

Есть ли способ преобразовать htmlDocument из string в htmlDocument?
Или вместо того, чтобы записывать исходный код в строку, могу ли я в первую очередь создать htmlDocument?

Спасибо

F-ES Sitecore

Вряд ли кто-то здесь поможет вам украсть контент другого сайта.

Arimatas

я понятия не имел, что это плохо. я просто хотел автоматизировать некоторые копипасты для личного использования :X

1 Ответов

Рейтинг:
12

Ravi Bhavnani

Я написал (и в настоящее время использую) эти классы:

чтобы позволить мне потреблять данные с веб-сайта.

Однако, пожалуйста, убедитесь, что у вас есть разрешение от владельцев веб-сайта на сбор данных для использования вашим приложением.

Вы также можете рассмотреть возможность простого использования API Википедии.  Например:

Вызов API для получения информации о CodeProject в JSON

/ Рави


Arimatas

Спасибо, я попробую.
И ваше право, я не думал о существующем API.
Я тоже возьму с собой добычу.