我正在一个WindowsPhone项目工作,我想从网站上获取数据,例如IMDb。
所以我用IMDb页面下载了html
private void addButton_Click(object sender, RoutedEventArgs e)
{
WebClient webclient = new WebClient();
webclient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webclient_DownloadStringCompleted);
webclient.DownloadStringAsync(new Uri("http://www.imdb.com/title/tt2294449/"));
}
void webclient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error != null)
{
MessageBox.Show("error");
}
string html = e.Result;
}
到目前为止它的确有效。
现在我想在这个html中搜索电影的de title。最好的方法是什么?
答案 0 :(得分:1)
答案 1 :(得分:0)
另一种方法是使用正则表达式手动解析HTML,但是由于HTML代码的不规则性,使用HTML Agility Pack等HTML解析库会更好(并且可能会减少错误!)
答案 2 :(得分:0)
这里有一些代码可以帮助您入门(需要错误检查)
HtmlDocument document = new HtmlDocument();
string htmlString = "<html>blabla</html>";
document.LoadHtml(htmlString);
HtmlNodeCollection collection = document.DocumentNode.SelectNodes("//a");
foreach (HtmlNode link in collection)
{
string target = link.Attributes["href"].Value;
}