我一直试图通过提供HTML字符串从网站中提取数据。 我做了一些研究,发现我必须使用HtmlAgilityPack;然而, 我无法弄清楚如何将这些例子应用到我的案例中。
我做过不同的测试,但似乎都没有。
我只需要提取联系人数据, 地址,电话,官方主页链接和标题 列表中的元素。
我尝试使用Firebug和类结构移动源代码 得到这些数据如下:
class="no-touch"
class="web10152"
class="page_wrapper"
class="main_content"
class="main"
class="centercol content"
class="content"
class="container_itemlist itemlist_simplified"
class="itemlist hotellist group component" // Has a List of each item
// Item (undernode of itemlist hotellist group component)
class="hotel item bookmarkable historisable" //item main class
// Path to get title
class="cf item_wrapper"
class="item_prices"
<h3 title="ITEM TITLE" </h3>
// Path to get contact info
class="slideout_wrapper component expand"
class="slideout_content_container"
class="slideout_content info item_info js_trivago_info active"
class="item_info_block contact" // Contains info
<em> ADDRESS INFORMATION </em>
<em> TELEPHONE INFO </em>
class="partnerHomepageLink link"
//Contains Link info
我不知道如何与HtmlAgilityPack进行沟通。 这是我尝试的最后一件事......
HtmlAgilityPack.HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(page);
try
{
var table = doc.DocumentNode.SelectSingleNode("//h3[@class='jsheadline js_slideout_trigger js_trackable']/title");
var table1 = doc.DocumentNode.SelectSingleNode("//div[@class='item_info_block contact']");
var ele = table1.Elements("em");
}
catch { Program.ChangeColor(Program.TextColors.PROGRAM_ERROR);
Console.WriteLine("\nError Report: Failed to parse page!");
}
我怎样才能做到这一点?