如何使用 PHP 解析网页内的图像?

Posted

技术标签:

【中文标题】如何使用 PHP 解析网页内的图像?【英文标题】:How parse images inside a web page with PHP? 【发布时间】:2020-07-31 14:16:55 【问题描述】:

我确定可能是重复的,但我遇到了“使用 php 解析网页”的问题。 我尝试推断网页内每个元素<img>srcalttitle,但我有这个错误:

Uncaught Error: Call to a member function getElementsByTagName() on array in /web/example.php:12 Stack trace: #0 main thrown in 

为此,我创建了这个小代码:

include('../simple_html_dom.php');
$doc = file_get_html('https://www.example.com');

foreach($doc-> find('div.content')-> getElementsByTagName('img') as $item)
    $src =  $item->getAttribute('src');
    $title= $item->getAttribute('title');
    $alt= $item->getAttribute('alt');

    echo "\n";
    echo $src;
    echo $title;
    echo $alt;

我希望你能帮助我....非常感谢,对不起我的英语

【问题讨论】:

【参考方案1】:

find 返回一个元素数组,因此您还需要遍历每个元素:

foreach($doc->find('div.content') as $div) 
    foreach ($div->getElementsByTagName('img') as $item)
        $src =  $item->getAttribute('src');
        $title= $item->getAttribute('title');
        $alt= $item->getAttribute('alt');

        echo "\n";
        echo $src;
        echo $title;
        echo $alt;
    

【讨论】:

以上是关于如何使用 PHP 解析网页内的图像?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用php解析json数组并显示?

如何在 Nokogiri 中解析图像 href

如何使用json方法解析android中没有键名的数组内的嵌套json编码数组?

如何在php网页中显示远程图像

如何使用 python 解析 ld+json

php xpath如何从父元素内的多个元素中获取值