HtmlAgilityPack 数据抓取select

今天在遇到数据抓取的时候,

<select name="vessel" id="vessel" class="list">
<option value="00">All</option>
<option value="4618">ABILITY</option>
<option value="1333">ACX CHERRY</option>
<option value="1332">ACX COSMOS</option>
<option value="4275">ACX CRYSTAL</option>
<option value="4277">ACX DIAMOND</option>
<option value="1322">ACX HIBISCUS</option>
<option value="782">ACX LILY</option>
<option value="786">ACX MARGUERITE</option>
<option value="4182">ACX PEARL</option>
<option value="4019">ACX SATSUMA</option>
<option value="3550">ADELINA D</option>
<option value="4619">ADMIRATION</option>
<option value="3866">AEGEAN EXPRESS</option>
<option value="1704">AGLAIA</option>
<option value="4388">AGNES RICKMERS</option>
<option value="4105">AKARI</option>
</select>


发现select 总是出现错误,最开始也没找到 HtmlAgilityPack  中抓取select的方法,使用了最笨的方法用index和Substring 进行一步一步取的数据:可是数据还是会出现问题:

在多方面查找资料才找到

 public Dictionary<string, string> getvessel()
        {
            Dictionary<string, string> dicV = new Dictionary<string, string>();
            string xmlpath = @"//select[@id='vessel']/option";
            HtmlNodeCollection nodeCollection =AgilityPackDoc.DocumentNode.SelectNodes(xmlpath);
            if (nodeCollection == null)
                return dicV;
            foreach (var item in nodeCollection)
            {
                var key = item.Attributes["value"].Value;
                var value = item.NextSibling.InnerText;
                dicV.Add(key, value);
            }
            return dicV;
        }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值