【问题标题】:HtmlAgilityPack - Getting div contentHtmlAgilityPack - 获取 div 内容
【发布时间】:2013-01-08 00:47:39
【问题描述】:

所以我试图在论坛上获取在线用户列表。这是html的样子:

<!-- logged-in users -->
            <div id="wgo_onlineusers" class="wgo_subblock section">
                <h3 class="blocksubhead"><img src="images/metro/red/misc/users_online.png" alt="Currently Active Users" />Currently Active Users</h3>
                <div>
                    <p>There are currently <a href="online.php">3 users online</a>. <span class="shade">3 members and 0 guests</span></p>
                    <p>Most users ever online was 23, 01-06-2013 at <span class="time">12:09 PM</span>.</p>

                    <ol class="commalist" id="wgo_onlineusers_list">

                            <li><a class="username" href="http://website.com/member.php?u=13"><span class="vip_username">Duncanrp</span></a>, </li>

                            <li><a class="username" href="http://website.com/member.php?u=17"><span class="regular_username">Jessica</span></a></li>

                    </ol>

                </div>
            </div>
            <!-- end logged-in users -->

是否可以使用 HtmlAgilityPack 获取在线的每个单独用户?用户使用&lt;li&gt; 标签进行格式化。

我尝试过的代码:

            HtmlAgilityPack.HtmlDocument htmlDocument = new HtmlAgilityPack.HtmlDocument();

            htmlDocument.LoadHtml("http://www.vizor.us/forum.php");

            List<string> onlineUsers = new List<string>();

            foreach (HtmlAgilityPack.HtmlNode selectNode in htmlDocument.DocumentNode.SelectNodes("//li/a[@class='username']"))
            {
                onlineUsers.Add(selectNode.InnerText);
            }

谢谢。

【问题讨论】:

    标签: c# html-agility-pack


    【解决方案1】:

    试试

     HtmlDocument htmlDocument = new HtmlDocument();
    
     htmlDocument.LoadHtml("http://vizor.us/forum.php");
    
     List<string> onlineUsers = new List<string>();
    
    foreach (HtmlNode selectNode in htmlDocument.DocumentNode.SelectNodes("//li/a[@class='username']")) {
        onlineUsers.Add(selectNode.InnerText);
                }
            }
    

    你正在解析的网站 url 的字符串值在哪里。

    有关代码的解释,请查看http://htmlagilitypack.codeplex.com/的文档

    【讨论】:

    • 我尝试了该方法,但出现错误:“对象引用未设置为对象的实例。”在 foreach 循环中。
    • 适用于提供的 html sn-p。我确实必须将 html 包装在 元素中以使其有效。该代码应该为您提供锻炼其余部分的良好起点。
    • 我正在使用网站 url 'vizor.us/forum.php',它给了我一个错误。更新帖子。
    • 您还需要使用 HtmlAgility 登录。
    猜你喜欢
    • 2017-10-20
    • 1970-01-01
    • 1970-01-01
    • 2017-06-23
    • 1970-01-01
    • 2019-05-11
    • 1970-01-01
    • 2016-04-21
    • 2013-06-27
    相关资源
    最近更新 更多