Php 如何使用xpath获取ul中所有图像的src

Php 如何使用xpath获取ul中所有图像的src,php,html,xpath,web-scraping,Php,Html,Xpath,Web Scraping,我需要找到这个ul下所有图像的src。我正在使用xpath来实现这一点。但它只返回第一个图像的src。如何获得所有src?这是我的HTML结构 <ul id="product-slider"> <li > <img src="1.jpg" width="310" height="363" /> </li> <li> <img src="2.jpg" style="opacity: 1;"> &l

我需要找到这个ul下所有图像的src。我正在使用xpath来实现这一点。但它只返回第一个图像的src。如何获得所有src?这是我的HTML结构

<ul id="product-slider">
  <li >
    <img src="1.jpg" width="310" height="363" />
  </li>
  <li>
    <img src="2.jpg" style="opacity: 1;">
 </li>
 <li>
    <img  width="310" height="363" src="3.jpg">
 </li>      
</ul>
它找不到除第一个之外的所有图像的src。 有人能帮忙吗


查看此
ul
,以获取此
ul
中所有图像(实际上是
src
属性中的所有值)的列表,在您的情况下,可以使用XPath轴:

//ul[@id='product-slider']/descendant::img/@src
它的作用是:

  • /ul[@id='product-slider']
    使用
    id='product-seller'

  • /genderant::img
    ul

  • /@src
    选择每个子体的
    src
    属性

  • XPath Axis是一个很好的工具,您可以在这里找到更多关于它的信息:(我知道它们不是最可靠的源代码,但是这个XPath教程是一个很好的介绍)

    编辑:以OP的新代码段(来自codepad)为例: 源代码中捕获的元素是以下
    ul
    ,其中只有第一个
    img
    标记包含
    src
    属性。


    而不是$i->nodeValue;使用$i->getAttribute('src');谢谢你的解释。但是,它仍然只返回一个图像的src@布鲁诺请看一下这个@Shubham如果你在snapdeal上检查你的目标
    ul
    的源代码,你将只看到第一个
    img
    包含
    src
    属性;所有其他属性都包含一个
    lazySrc
    属性。例如,如果您使用
    @bigimage
    尝试上面相同的XPath,您将获得4个URL。所有这四个标记都包含src属性@brunoIt不包含。我刚刚更新了答案,请查收。顺便说一句,最好使用
    id
    而不是
    class
    来匹配XPath表达式:它们的唯一性更可靠。
    //ul[@id='product-slider']/descendant::img/@src