从网页中读取特定内容

本文关键字:读取 网页 | 更新日期: 2023-09-27 17:49:46

我正在尝试制作一个应用程序(在c#中),其中我必须从wiktionary.com或dictionary.com等网站获得一些含义。但是我从来没有使用过Xml,也没有处理过网页。

我设法从网页(例如从dictionary.com为一个特定的词)(我希望是xml格式)得到响应。

这是我得到的单词"Hello":

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
<!--attributes for answers reference-->
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns:og="http://opengraphprotocol.org/schema/">
<head>
<title>
Hello | Define Hello at Dictionary.com
</title>
<meta name="description" content="Hello definition, (used to express a greeting, answer a telephone, or attract attention.) See more."/>
<meta name="keywords" content="hello, online dictionary, English dictionary, hello definition, define hello, definition of hello, hello pronunciation, hello meaning, hello origin, hello examples"/>
<link rel="canonical" href="http://dictionary.reference.com/browse/hello"/>
<meta property="og:title" content="the definition of hello"/>
<meta property="og:site_name" content="Dictionary.com"/>
<meta property="og:image" content="http://sp2.dictionary.com/en/i/dictionary/facebook/dictionary_logo.png"/>

现在我要从响应中解析以下字符串。

used to express a greeting, answer a telephone, or attract attention.

我尝试使用XmlReader,但卡住了。有人能帮我读一下这个内容吗?

从网页中读取特定内容

使用HTML Agility Pack可以轻松解析HTML。

HtmlDocument doc = new HtmlDocument();
// replace with your own content
doc.Load("file.htm");
foreach(HtmlNode meta in doc.DocumentElement.SelectNodes("/meta[@name='description'"])
{
    HtmlAttribute att = meta["content"];
    Consol.WriteLine( att.Value );
}

你可以使用像http://services.aonaware.com/这样的web服务,这对你和目标网站来说要好得多:-)。

http://words.bighugelabs.com/api.php是另一个选项,它有一个更简单的API