HtmlAgilityPack에서 쓸모없는 TextNode 제거하기

c# html-agility-pack web-scraping

문제

HtmlAgilityPack을 사용하여 많은 웹 사이트를 긁어 모으고 있습니다. 문제는 비어 있거나 \ n, 공백 및 \ r 질량을 포함하는 대부분의 장소에 TextNodes를 삽입하는 것입니다.

방화 광은 그들을 보여주지 않지만 HtmlAgilityPack은 자식 노드를 세면 문제가 발생하는 경향이 있습니다.

HtmlAgilityPack이 그 일을 멈추도록하거나 최소한이 텍스트 노드를 지우는 방법이 있습니까? (나는 유용한 것들을 유지하고 싶다). 우리가 여기에있는 동안, Comment와 Script 태그에 대해서도 마찬가지입니다.

인기 답변

다음 확장 방법을 사용할 수 있습니다.

static class HtmlNodeExtensions
{
    public static List<HtmlNode> GetChildNodesDiscardingTextOnes(this HtmlNode node)
    {
        return node.ChildNodes.Where(n => n.NodeType != HtmlNodeType.Text).ToList();
    }
}

그리고 이것을 다음과 같이 부르십시오.

List<HtmlNode> nodes = someNode.GetChildNodesDiscardingTextOnes();


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