【发布时间】:2014-03-31 17:11:44
【问题描述】:
我正在使用 htmlagilitypack 和 xpath 为特定关键字抓取网页。我在一次搜索多个关键字时遇到了麻烦。
所以我得到的关键字东西的代码是(随机选择的关键字:Frozen 和 obamacare):
HtmlDocument doc = new HtmlDocument();
HtmlWeb web = new HtmlWeb();
doc = web.Load(uri);
HtmlNodeCollection Nodes = doc.DocumentNode.SelectNodes("//text()[contains(., 'Frozen obamacare')]");
即使我知道该页面特别有两个关键字,这也不起作用,并且从其他发现基本上得知SelectNodes("//text()[contains(., 'Frozen obamacare')]"); 是多个关键字的正确方法。
我需要帮助验证这是否是使用多个关键字的正确方法,如果不是,那么我正在寻求帮助来纠正它。
【问题讨论】:
-
您使用的查询不是搜索多个关键字,而是搜索字符串
Frozen obamacare。试试这个//text()[contains(.,'Frozen') and contains(.,'obamacare')] -
我选择 Jens Erat 的答案是因为它现在可以工作,即使 XPath 2.0 功能可能是最好的方法,我也必须更改我拥有/正在使用的内容或修复裁剪的错误尝试 XPath 2.0 内容时启动。感谢大家的大力帮助。你们太棒了!
标签: c# xpath html-agility-pack