それが何と呼ばれているかはわかりませんが、フォーラムスレッドを作成したユーザーを表しています:
...
<a href="http://myforum.com/forum/most-fav-action-movies/" id="thread_title_10178" style="font-weight:bold">Most Favorite Action Movies</a>
</div>
<div class="smallfont">
<span style="cursor:pointer" onclick="window.open('http://myforum.com/forum/members/u506/', '_self')">JOANVENGE</span>
</div>
</td>
<td class="alt2" title="Replies: 17, Views: 651">
<div class="smallfont" style="text-align:right; white-space:nowrap">
...
したがって、この場合、取得しようとしているのは「JOANVENGE」文字列です。現在、a
これを使用してリンクを取得しています:
IEnumerable<HtmlNode> threadLinks = doc.DocumentNode.
Descendants ( "a" ).
Where ( link => link.Id.StartsWith ( linkIdPrefix ) );
ただし、これにはフォーラムの URL と ID 以外の情報は含まれていません。a
そのため、リンクを超えてそのテキストを取得する方法がわかりません。
編集:現在、IEnumerable
「スパン」のみを収集して最初のリストに一致させる別のものを作成していますが、何らかの理由span
でリンクがリンクよりも 1 つ多いため、これは面倒で壊れやすいa
ようですindex + 1
. 現在は問題なく動作していますが、最初のリストのリンクからこの情報に直接アクセスできれば、より堅牢になります。値をヒットするまで、次および前のノードもセクションnull
に到達しません。span
したがって、どのような場合でも、これらは HtmlAgilityPack の個別のエンティティであると想定しています。