Получите доступ к содержанию веб-страницы с C#

Вместо того, чтобы группироваться видимостью или типом объекта (поле, свойство, метод, и т.д.), как насчет того, чтобы группироваться функциональностью?

5
задан John Saunders 14 July 2009 в 14:27
поделиться

6 ответов

На самом деле WebBrowser - это элемент управления с графическим пользовательским интерфейсом, который используется в случае, если вы хотите визуализировать веб-страницу (встроить Internet Explorer в приложение Windows и управлять им). Если вам просто нужно получить содержимое веб-страницы, вы можете использовать класс WebClient :

class Program
{
    static void Main(string[] args)
    {
        using (var client = new WebClient())
        {
            var contents = client.DownloadString("http://www.google.com");
            Console.WriteLine(contents);
        }
    }
}
14
ответ дан 18 December 2019 в 09:52
поделиться

Если вам нужен только контент, а не фактический браузер, вы можете использовать HttpWebRequest.

Вот пример кода: http://www.c-sharpcorner.com /Forums/ShowMessages.aspx?ThreadID=58261

1
ответ дан 18 December 2019 в 09:52
поделиться

Вы можете сделать что-то вроде этого:

Uri u = new Uri( @"http://launcher.worldofwarcraft.com/alert" );
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(u);
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
System.IO.Stream st = res.GetResponseStream();
System.IO.StreamReader sr = new System.IO.StreamReader(st);
string body = sr.ReadToEnd();
System.Console.WriteLine( "{0}", body ); 

приведенный выше код показывает сообщение обслуживания для WoW USA (если какое-либо сообщение было опубликовано)

1
ответ дан 18 December 2019 в 09:52
поделиться

Пакет HTML Agility Pack может быть тем, что вам нужно. Он обеспечивает доступ к HTML-страницам через DOM и XPath.

0
ответ дан 18 December 2019 в 09:52
поделиться

Вы также можете использовать библиотеку WatiN для простой загрузки веб-страниц и управления ими. Это было разработано как библиотека тестирования для веб-интерфейса. Для его использования загрузите последнюю версию с официального сайта http://watin.sourceforge.net/ . Для C # следующий код в консольном приложении предоставит вам HTML-код домашней страницы Google (это изменено из примера начала работы на сайте WatiN). Библиотека также содержит много других полезных методов для получения и настройки различных частей страницы, выполнения действий и проверки результатов.

   using System;
    using WatiN.Core;

    namespace Test
    {
      class WatiNConsoleExample
      {
        [STAThread]
        static void Main(string[] args)
        {
          // Open an new Internet Explorer Window and
          // goto the google website.
          IE ie = new IE("http://www.google.com");

          // Write out the HTML text of the body
          Console.WriteLine(ie.Text);


          // Close Internet Explorer and the console window immediately.
          ie.Close();

          Console.Readkey();
        }
      }
    } 
1
ответ дан 18 December 2019 в 09:52
поделиться

Парсинг экрана Google и, как упоминалось выше, использование HttpWebRequest. Когда вы делаете то, что делаете, я бы рекомендовал использовать Fiddler, чтобы помочь вам понять, что на самом деле происходит.

0
ответ дан 18 December 2019 в 09:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: