我使用HtmlAgilityPack在网站上解析一个值,但我的编程没有运行

时间:2015-08-28 15:12:30

标签: c# exception visual-studio-2013 html-agility-pack

我在网站mp3.zing.vn上编写了一个编程获取值,但是HtmlAgilityPack错误。 我的代码如下:

string trave = "";          
String url = "http://mp3.zing.vn/bang-xep-hang/bai-hat-Viet-Nam/IWZ9Z08I.html";
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
HtmlWeb a = new HtmlWeb();
doc = a.Load(url);
HtmlNodeCollection t =doc.DocumentNode.SelectNodes("//a[@class=\"txtprimary\"]");
foreach (var i in t){ trave += i.InnerText; }

错误图片 http://postimg.org/image/5uuqby5ov/

1 个答案:

答案 0 :(得分:1)

您的代码中存在一些问题。

1-下载gzip压缩内容

2-选择正确的锚点。

String url = "http://mp3.zing.vn/bang-xep-hang/bai-hat-Viet-Nam/IWZ9Z08I.html";
var data = new WebClient().DownloadData(url);
var html =  new StreamReader(new GZipStream(new MemoryStream(data), CompressionMode.Decompress)).ReadToEnd();

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
var t = doc.DocumentNode.SelectNodes("//a[@class='txt-primary']")
        .Select(a => a.InnerText)
        .ToList();

输出:

  

[“ChưaBaGiờ”,“ẤnNútNhớ...ThảGiấcMơ”,“VângAnnĐiĐi”,“2AM”,“LàmVợAnhNhé”,“Buông”,“Say You Do”,“Alone” “,”ĐẹpTraiThìMớiCóNhiềuĐứaYêu“,”ThếGiớiẢoTìnhYêuThật“,”GiáNhư“,”ĐơnPhương“,”Mr. Right(KhiAnhYêuEm)“,”KhôngPhảiDạngVừaĐâu “,”AnhLàCủaEm“,”Buông“,”KhuônMặtĐángThương“,”NgườiTừngYêuAnhRấtSâNặng“,”CứThếMongChờ“,”PhốThị“,”ThậtBấtNgờ“,”Cám“ ƠnVìTấtCả“,”EmLàCủaAnh“,”XinĐừngBoôngTay“,”Chạy(On My Way)“,”AiCũngCóNỗiBuồn“,”MãiLuônGầnNhau“,”VẫnCứYêuEm“ ,“LờiTỏTình”,“VợYêu”,“ConNợMẹ”,“AnhKhôngSaoĐâu”,“ConĐườngTôi”,“KhôngCóEm”,“我的一切”,“ChoNhữngĐiềuĐãQua”, “KhôngThuộcVềNhau”,“EmCủaQuáKhứ”,“ĐộcẨm”,“CóLẽ”]