Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby wikimedia转储上的xpath最后一个链接_Ruby_Xpath_Mechanize - Fatal编程技术网

Ruby wikimedia转储上的xpath最后一个链接

Ruby wikimedia转储上的xpath最后一个链接,ruby,xpath,mechanize,Ruby,Xpath,Mechanize,您如何从中获取页面计数的最新下载链接 http://dumps.wikimedia.org/other/pagecounts-raw/2011/2011-11/ 使用XPath http://dumps.wikimedia.org/other/pagecounts-raw/2011/2011-11/pagecounts-20111115-140000.gz 我选择了(机械化): 但是获取XPath表达式中的最后一个元素仍然有困难。要从XPath中的集合中选择最后一个节点,请使用 [posit

您如何从中获取页面计数的最新下载链接

http://dumps.wikimedia.org/other/pagecounts-raw/2011/2011-11/
使用XPath

http://dumps.wikimedia.org/other/pagecounts-raw/2011/2011-11/pagecounts-20111115-140000.gz
我选择了(机械化):


但是获取XPath表达式中的最后一个元素仍然有困难。

要从XPath中的集合中选择最后一个节点,请使用

[position()=last()]
甚至只是

[last()]
当您想要从整个文档集中检索最后一个锚点时,请使用这个锚点(在PHP中测试,但在Mechanize中应该可以)


这是我已经尝试过的,但是Mechanize(使用Nokogiri)返回一个完整的集合,而不是最后一个元素,不知道为什么。因此,我开始直接在ruby中使用.last。@kain我已经更新了答案。不是最干净的标记:)老实说,这是我已经尝试过的另一件事,这就是我为什么要问的原因:)@kain在这方面看起来像一个破损的XPath实现case@Phil也许是对的。Mechanize默认使用Nokogiri,Nokogiri基于libxml2。众所周知,OSX附带的libxml2版本存在问题。升级libxml修复了很多问题。你在运行什么操作系统?我在Mac OS X Lion 10.7.2、Ruby 1.9.3-p0、Mechanize 2.0.1上
[last()]
(//a[starts-with(@href, 'pagecounts')])[last()]