HTMLAgilityPack get 클래스 innerText

c# class html-agility-pack http innertext

문제

클래스의 innerText 를 가져 innerText 합니다. 이것은 내 코드입니다.

using (HttpClient clientduplicate = new HttpClient())
{
    clientduplicate.DefaultRequestHeaders.Add("User-Agent",
        "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident / 6.0)");

    using (HttpResponseMessage responseduplicate = await clientduplicate.GetAsync(@"https://www.investing.com/news/stock-market-news/warren-buffett:-i-bought-$12-billion-of-stock-after-trump-won-456954")
    using (HttpContent contentduplicate = responseduplicate.Content)
    {
        try
        {
            string resultduplicate = await contentduplicate.ReadAsStringAsync();

            var websiteduplicate = new HtmlDocument();
            websiteduplicate.LoadHtml(resultduplicate);

            var titlesduplicate = websiteduplicate.DocumentNode.Descendants("div").FirstOrDefault(o => o.GetAttributeValue("class", "") == "arial_14 clear WYSIWYG newsPage");
            var match = Regex.Match(titlesduplicate.InnerText, @"(.*?)<!--", RegexOptions.Singleline).Groups[1].Value;

            Debug.WriteLine(match.TrimStart());
        }
        catch(Exception ex1)
        {
            var dialog2 = new MessageDialog(ex1.Message);
            await dialog2.ShowAsync();
        }
    }
}

이제 문제는 이것이 나에게 그림의 텍스트를 돌려 줄 것입니다. 해결 방법을 찾을 수 있지만 이것에 대한 다른 접근법이 있는지 궁금해하고있었습니다. 좀 더 간단하고 빠른 것.

또한 다른 기사 / URL에이 URL을 사용하면 다른 사소한 버그가 있습니다.

수락 된 답변

이를 수행 할 수있는 많은 방법이 있습니다. 한 가지 방법은 innerText를 가져 오기 전에 회전식 div를 제거하는 것입니다. doc.DocumentNode.Descendants("div").FirstOrDefault(_ => _.Id.Equals("imgCarousel"))?.Remove();



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.