【发布时间】:2013-10-14 10:34:08
【问题描述】:
到目前为止,我正在尝试检索某个网站的 HTML 标记之间的文本....
例如,我需要提取这些跨度标签之间的文本,我将如何处理,我收到一条错误消息,指出“对象引用未设置为对象的实例”这里是 HTML
这部分之前还有 HTML 代码;我不知道这是否应该有所作为。
<div class="thumbnail-details">
<ul>
<li> … </li>
<li class="product-title">
<span class="thumbnail-details-grey">The Blaster Portable Wireless Speaker in Black</span>
</li>
<li> … </li>
</ul>
</div>
到目前为止,我的 C# 代码是
HtmlWeb hw = new HtmlWeb();
HtmlAgilityPack.HtmlDocument htmlDoc = hw.Load(@"http://www.karmaloop.com/Browse.htm#Pgroup=1");
if (htmlDoc.DocumentNode != null)
{
foreach (HtmlNode text in htmlDoc.DocumentNode.SelectNodes("//span[@class='thumbnail-details-grey']/text()"))
{
Console.WriteLine(text.InnerText);
}
我能在这里得到一些帮助吗,我想提取“The Blaster Portable Wireless Speaker in Black”。
【问题讨论】:
-
你在哪里得到错误?我猜它在 if 语句中并且 htmlDoc 为空。如果我是对的,您可以将 if 语句更改为
if (htmlDoc != null && htmlDoc.DocumentNode != null)以消除该错误,但随后需要找出它未加载的原因。
标签: c# html xpath html-parsing html-agility-pack