通过php从网站上的图像中检索alt

时间:2012-01-07 01:41:00

标签: php parsing web

我想从网站上的图片中检索alt。在过去,我这样做了:

@$doc=new DOMDocument();

@$doc->loadHTML($html);  //$html is the website

 $xml=simplexml_import_dom($doc); // just to make xpath more simple

 $images=$xml->xpath('//img');
   foreach ($images as $img) {                                  
   echo  $img['alt'];

   }

但现在我想要的图像是div style =“padding:15px 0px 15px 25px;”

我如何检索图像? 我试图将$ xml-> xpath()更改为其他内容,但没有运气。

如果有人知道我需要做什么,我们将不胜感激。

谢谢!

我的错误,这实际上是包含数据的地方。

 <div class="numbers">
 <table cellpadding="3">
  <tbody>
  <tr>
  <tr>
  <td>
  <img alt="12" src="/images/new/date/date5.gif">
   <img alt="39" src="/images/new/date/date4.gif">
   <img alt="32" src="/images/new/date/date3..gif">
   <img alt="4" src="/images/new/date/date2.gif">
   <img alt="20" src="/images/new/date/date1.gif">
   </td>
   <td>
   </tr>
   </tbody>
   </table>
    </div>

2 个答案:

答案 0 :(得分:0)

试试这个XPath:

//div[@style="padding: 15px 0px 15px 25px;"]/img

但请注意,HTML源代码中的样式与此类似,请记住浏览器可以更改您在查看源代码时看到的HTML / CSS代码!因此,请使用带有选项show“Source”的Firefox Web Developer工具栏!请查看此主题https://stackoverflow.com/a/3314453/22470

答案 1 :(得分:0)

如果它在div中,则添加带路径

的div
  $doc=new DOMDocument();
    $doc->loadHTML("<html><body>Test<br><img src=\"myimage.jpg\" title=\"title\" alt=\"alt\"></body></html>");
    $xml=simplexml_import_dom($doc); // just to make xpath more simple
    $images=$xml->xpath('//div[@style="padding: 15px 0px 15px 25px;"]/img');
    foreach ($images as $img) {
        echo $img['src'] . ' ' . $img['alt'] . ' ' . $img['title'];
    }