Получите внутренний текст href с помощью HtmlAgilityPack

.net c# html html-agility-pack html-parser

Вопрос

Я пытаюсь создать агент новостей, чтобы получать новости с веб-сайтов. Так что я должен использовать html parser например HtmlAgilityPack Здесь вы можете увидеть мой код:

public async void parsing(string website)
{
    HttpClient http = new HttpClient();
    var response = await http.GetByteArrayAsync(website);
    String source = Encoding.GetEncoding("utf-8").GetString(response, 0, response.Length - 1);
    source = WebUtility.HtmlDecode(source);
    HtmlDocument resultat = new HtmlDocument();
    resultat.LoadHtml(source);
    List<HtmlNode> toftitle = resultat.DocumentNode.Descendants().Where
      (x => (x.Name == "div" && x.Attributes["class"] != null && x.Attributes["class"].Value.Contains("latest-news"))).ToList();
    var li = toftitle[0].Descendants("li").ToList();
    foreach (var item in li)
    {
        var link = item.Descendants("a").ToList()[0].GetAttributeValue("href", null);
        var img = item.Descendants("img").ToList()[0].GetAttributeValue("src", null);
    }
}

вот мой html-код, который нужно разобрать:

<a href="/news?p_p_id=56_INSTANCE_tVzMoLp4zfGh&amp;_56_INSTANCE_tVzMoLp4zfGh_mode=news&amp;_56_INSTANCE_tVzMoLp4zfGh_newsId=3153832&amp;p_p_state=maximized">› پانل «بررسي سازوکارهاي تأمين منابع مالي براي توسعۀ فناوري» به‌عنوان پانل برتر پنجمين کنفرانس بين‌المللي و نهمين کنفرانس ملي مديريت فناوري معرفي شد</a>


<a href="/news?p_p_id=56_INSTANCE_tVzMoLp4zfGh&amp;_56_INSTANCE_tVzMoLp4zfGh_mode=news&amp;_56_INSTANCE_tVzMoLp4zfGh_newsId=3135970&amp;p_p_state=maximized">› فرآیند و فرم درخواست استفاده از تسهیلات حمایتی بلاعوض صندوق نوآوری و شکوفایی جهت حضور شرکت های دانش بنیان در جایزه ملی مدیریت فناوری و نوآوری</a>

Таким образом, проблема в том, что я могу получить href link но не href value Я имею в виду, что могу получить новостной URL, но не заголовок پانل «بررسي سازوکارهاي تأمين منابع مالي براي توسعۀ ٠ناوري» به‌عنوان پانل برتر پنجمين کن٠رانس بين‌المللي Ùˆ نهمين کن٠رانس ملي مديريت ٠ناوري معر٠ي شد .

Как я могу это получить?

Принятый ответ

Я просто должен использовать этот код, чтобы получить внутренний текст href:

string tistle = item.Descendants("a").ToList()[0].InnerText;

Популярные ответы

вы можете использовать вот так:

 HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
 doc.LoadHtml(result);
 foreach (HtmlNode link in doc.DocumentNode.SelectNodes("a"))
        {
            string value = link.InnerText; // here you can get href value 
        }


Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow