XPath:选择前5个元素

Mae*_*Mae 5 php xpath web-scraping

目前我正在从另一个网站上抓取一些数据,而我遇到的问题是如何只获取前5个元素.

$travelguide_row = 
$travelguide_xpath->query('//div[@class="traveltips"]//span|//div[@class="traveltips"]//p');
Run Code Online (Sandbox Code Playgroud)

我可以后添加更多的语法//span//p?如果有,怎么样?

har*_*r07 6

您可以使用谓词表达式[position() < 6]来实现这一点.以下XPath应该为您提供原始XPath表达式匹配的前5个元素:

(//div[@class="traveltips"]//span|//div[@class="traveltips"]//p)[position() < 6]
Run Code Online (Sandbox Code Playgroud)

  • 我试过那个表达式,但我不知道我可以将自己的代码放在括号中!:) 非常感谢!我又学到了一些东西. (2认同)