Как получить информацию об URL в переменной C #? - PullRequest
0 голосов
/ 02 августа 2010
http://www.dsebd.org/latest_PE.php

Вышеуказанный URL содержит несколько сведений. Из этого URL я просто хочу получить информацию ниже. Как?

Price Earning Ratio : at a glance
on Aug 2, 2010 at 11:28:00

Я хочу знать, как получить url информацию в переменную или некоторый контейнер для хранения в C #. Конкретно мне нужна информация выше, мне не нужна остальная информация. Я использую приведенный ниже синтаксис:

WebClient objWebClient = new WebClient();

aRequestHTML = objWebClient.DownloadData("http://www.dsebd.org/latest_PE.php");//http://www.dsebd.org/latest_PE_all2_08.php
UTF8Encoding utf8 = new UTF8Encoding();
myString = utf8.GetString(aRequestHTML);
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(myString);

После этого что делать? Я ничего не догадываюсь. Пожалуйста, покажите синтаксис

  foreach (HtmlNode node in doc.DocumentNode.SelectNodes(@"//td"))//td[text()="Price Earning Ratio : at a glance"
            {
                if (node.InnerHtml.Contains("Price Earning Ratio"))
                {
                    //I get the td value

                }
                //[text()=Price Earning Ratio : at a glance
                // do stuff with node   //@"//td[text()=Price Earning Ratio : at a glance"
            }

После добавления приведенного выше синтаксиса, я получаю следующий текст

<br>
      <font color="#FFFFFF" size="3" face="Arial"><b>Price Earning Ratio : at 
      a glance <b> </b></b></font><br>
    <font color="#FFFFFF" size="2" face="Arial"><b> on Aug 2, 2010  at 17:04:00<b></b></b></font>
    <br>

Из этого я просто хочу получить часть даты. Как? Без этой даты мне ничего не нужно. Каждый день эта дата будет меняться, это динамическая дата, поэтому я не могу вставить эту дату в строку. Сверху, напиши, как я получу дату.

Ответы [ 2 ]

4 голосов
/ 02 августа 2010

Посмотрите на HTML Agility Pack - это HTML-анализатор, который позволяет вам передавать URL-адрес, который будет анализироваться, чтобы вы могли запрашивать его с помощью XPath.

HtmlWeb hw = new HtmlWeb();
HtmlDocument doc = hw.Load("http://www.dsebd.org/latest_PE.php");

На данный момент doc можно запросить и посмотреть:

foreach(HtmlNode node in doc.DocumentNode.SelectNodes("XPATH for interesting nodes"))
{
  // do stuff with node
}
0 голосов
/ 02 августа 2010

Если вы хотите загрузить контент с указанного выше URL-адреса, вы можете использовать WebClient (стандартный класс c # для выполнения запросов http), чтобы выполнить вызов http, а затем Html Agility Pack , чтобы проанализировать html и извлечь данные.

...