我试图在Xpath的帮助下使用HTML Agilitypack从其他站点检索数据。我已经成功地从一个站点添加数据,但是当我更改URL和XPath以从其他站点检索数据时,它不起作用。使用XPath从其他站点检索数据
这是我工作的代码:
string Url = "http://www.uok.edu.pk/faculties/computerscience/bs.php";
HtmlAgilityPack.HtmlWeb web = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = web.Load(Url);
var headers = doc.DocumentNode.SelectNodes(
"//*[@id=\"courses_sec\"]/div[2] /div[2]/div[2]/table[2]/tbody/tr[1]/td");
但我改变XPath和URL,变量headers
为空。这是不正常的代码:
string Url = "http://music.dodear.com/index.php";
HtmlAgilityPack.HtmlWeb web = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = web.Load(Url);
var headers = doc.DocumentNode.SelectNodes(
"//*[@id=\"content\"]/div[2]/table/tbody/tr[2]/td/table/tbody/tr/td/
table[1]/tbody/tr/td");
如果你解释了*你想要检索的数据,这将有所帮助。更一般地说,不要让工具为你写XPath。你总是会得到一个丑陋的混乱,在网站结构稍有改变的情况下就会轻易破坏。自己写XPath。 – Tomalak 2014-10-30 19:10:20
我想检索具有两列的那个列表,其中一列是大学名称(其中约64个名称存在),另一个列名称是位置。对于上述代码也是如此,但不适用于下面的代码。 – user34094881 2014-10-31 11:42:41