HtmlAgilityPack 数据抓取select

来源:互联网 发布:js 字符串加密和解密 编辑:程序博客网 时间:2024/06/03 15:01

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

<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;
        }


0 0
原创粉丝点击