나는 사이트 (lol)에서 짧은 작은 광고문을 뽑으려고하고있다.
제가 끌어 내려고 시도하는 HTML은 아래에 있습니다.
<div class="field field-name-field-body-medium field-type-text-long field-label-hidden">
The community comics collaboration is back for another heaping helping of Academy fun!
</div>
코드를 사용하고 있는데 현재 작동하지 않습니다.
var shortBio = doc.DocumentNode.Descendants("div").Where(p => p.Attributes.Contains("class") && p.Attributes["class"]
.Value.Contains("field field - name - field - body - medium field - type - text - long field - label - hidden"));
for (int i = 0; i < 5; i++)
{
blurbs[i] = shortBio.ElementAt(i).ToString();
}
분명히 이것은 작동하지 않으며 텍스트를 가져 오는 방법을 모르겠습니다. 나는 당기는 것에 관한 정보를 계속 찾는다.
미리 감사드립니다.
타겟 div
의 부모님이 좋은 식별자가 될 수있는 teaser-content
를 제공하는 것처럼 보입니다. 다음 XPath는 원하는 div
반환해야합니다.
//div[@class='teaser-content']/div
그런 다음 예를 들어 InnerText
속성에서 div
의 내용 텍스트를 가져올 수 있습니다 ( SelectSingleNode()
를 SelectNodes()
바꾸고 첫 번째 대신 모든 div
를 원할 경우 결과를 반복합니다).
var doc = new HtmlWeb().Load("http://na.leagueoflegends.com/en/news/");
var div = doc.DocumentNode.SelectSingleNode("//div[@class='teaser-content']/div");
Console.WriteLine(div.InnerText);
출력 :
The community comics collaboration is back for another heaping helping of Academy fun!