我正在开发一个 Windows 应用商店应用程序来过滤GsmArena 网站并向用户显示所有智能手机的信息。但是,我不知道如何获取这些信息。有人可以帮我吗?
问问题
205 次
1 回答
1
您可以使用Html Agility Pack轻松提取此类信息。
使用火狐浏览页面源码,可以找到视觉渲染与html的对应关系:
然后你会发现每部手机的信息都包含在一个 div 类“news-item”中,然后尝试下面的代码片段来准确获取所有新项目:
private const string RemoteRoot = @"http://www.gsmarena.com/";
private WebClient _client = new WebClient();
_client.DownloadFile(remoteLink, localPath); //Save it to a local file
或者您可以使用 Html Agility Pack 从 Web 下载文件:
var web = new HtmlWeb();
var doc = web.Load(remoteLink);
doc.Save(localPath);
然后您可以检索您需要的信息:
var doc = new HtmlDocument();
doc.Load(localPath);
var filter = string.Format(@"//*[@class='{0}']", "news-item");
var nodes = doc.DocumentNode.SelectNodes(filter); // here you have all new items
//you can then retrive h3 texts etc.
于 2013-05-29T05:37:06.313 回答