【发布时间】:2012-10-31 12:35:22
【问题描述】:
我想使用HTML Agility utility 从 URL 中提取标题、描述和图像,但目前我无法找到一个易于理解的示例并且可以帮助我做到这一点。
如果有人可以帮助我提供示例,我将不胜感激,以便我可以提取标题、描述并让用户选择从一系列图像中选择图像(当我们共享链接时类似于 Facebook)。
更新:
我在 .aspx 页面上放置了标题、描述和按钮、文本框的标签,并且我在按钮单击事件上触发了以下代码。但它为所有值返回 null 。可能是我做错了什么。
我使用了以下示例网址http://edition.cnn.com/2012/10/31/world/asia/india/index.html?hpt=hp_t2
protected void btnGetURLDetails_Click(object sender, EventArgs e)
{
HtmlDocument doc = new HtmlDocument();
var response = txtURL.Text;
doc.LoadHtml(response);
String title = (from x in doc.DocumentNode.Descendants()
where x.Name.ToLower() == "title"
select x.InnerText).FirstOrDefault();
String desc = (from x in doc.DocumentNode.Descendants()
where x.Name.ToLower() == "description"
select x.InnerText).FirstOrDefault();
List<String> imgs = (from x in doc.DocumentNode.Descendants()
where x.Name.ToLower() == "img"
select x.Attributes["src"].Value).ToList<String>();
lblTitle.Text = title;
lblDescription.Text = desc;
}
上面的代码让我得到所有变量的空值
如果我用这个修改代码
HtmlDocument doc = new HtmlDocument();
var url = txtURL.Text;
var webGet = new HtmlWeb();
doc = webGet.Load(url);
在这种情况下,它只会让我的标题和描述的值再次为空
【问题讨论】:
-
我必须设计一个页面,管理员将在其中添加 URL,然后代码应在页面 (URL) 上显示标题、描述和图像。我不能给你 HTML,因为它基于 URL,你可以使用任何 URL,例如任何网站上的新闻或文章也有图片
标签: c# asp.net webforms html-agility-pack