使用 DOMDocument 从网站抓取所有图像

2023-11-30

我基本上想要得到ALL使用 DOMDocument 的任何网站中的图像。 但由于某些我还不知道的原因,我什至无法加载我的 html。

$url="http://<any_url_here>/";
$dom = new DOMDocument();
@$dom->loadHTML($url); //i have also tried removing @
$dom->preserveWhiteSpace = false;
$dom->saveHTML();
$images = $dom->getElementsByTagName('img');
foreach ($images as $image) 
{
echo $image->getAttribute('src');
}

发生的情况是没有任何内容被打印。或者我的代码做错了什么?


您没有得到结果,因为 $dom->loadHTML() 需要 html。你给它一个url,你首先需要获取你想要解析的页面的html。您可以使用 file_get_contents() 来实现。

我在图像抓取类中使用了它。对我来说效果很好。

$html = file_get_contents('http://www.google.com/');
$dom = new domDocument;
$dom->loadHTML($html);
$dom->preserveWhiteSpace = false;
$images = $dom->getElementsByTagName('img');
foreach ($images as $image) {
  echo $image->getAttribute('src');
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 DOMDocument 从网站抓取所有图像 的相关文章

  • TCPDF - 来自 mysql 的打印表显示重复的第一行

    我是 TCPDF 的新手 我面临的小问题是所有输出数据都显示同一行 我的意思是第一条记录重复数据库中存在的总数据 行 的次数 这是我的代码 tbl header
  • 使用操作系统用户名/密码在 PHP 中进行身份验证?

    我想知道是否有一种方法可以使用 PHP 或者可能是其他一些 CGI 但最好是 PHP 来使用其操作系统 在本例中为 Linux Debian 5 用户名和密码来验证用户 可能的 难的 谢谢 一般来说 这种东西是特定于操作系统的 并与现有的身
  • Facebook“喜欢”按钮,喜欢另一个页面/URL

    我有一个链接列表 每个单独的页面上都有一个 喜欢 按钮来 喜欢 该页面 但我想要列表中每个链接旁边有一个 喜欢 按钮 该按钮会喜欢旁边链接的 URL 就像单击链接然后单击 喜欢 按钮一样 我该怎么做呢 要在每个单独的页面上创建按钮 我使用以
  • $_COOKIE[] 设置后似乎没有反映更改

    我不记得过去使用 Cookie 时遇到过很多问题 但我在尝试时遇到了一些意想不到的结果 我在本地主机上运行 因此我的域设置 这将产生以下输出 Cookie Set Cookie equals 457718770 shou
  • 如何启用 php curl 以在 php cli 中使用

    我已经在没有服务器的情况下在我的计算机上安装了 php 并使用 cli 运行它 但未启用 php curl 我不知道如何执行此操作 如果有人遇到此线程并使用 wamp 服务器 这里有一个针对上述问题的快速解决方案http forum wam
  • 使用 PHP SDK 获取页面的最新 Facebook 帖子

    以下代码位于名为 facebook posts php 的文件内 我从索引文件中调用该文件 如下所示 然而 这段代码放到哪里 却没有任何反应 因此 成功和捕获错误都不会返回错误 正如我所见 我尝试过绝对网址 但这也不起作用 我隐藏了 api
  • Zend Framework 2 在视图中显示视图

    我有两个模块管理和登录 我想在管理视图 index html 中显示登录视图 login phtml 我在管理模块indexAction控制器中有以下内容 public function indexAction login new Logi
  • 如何使用 PHP 中的 jQuery/AJAX 调用迭代 JSON 数组? [复制]

    这个问题在这里已经有答案了 可能的重复 循环Json对象 https stackoverflow com questions 684672 loop through json object 我有一个 PHP 函数 data php 它从外部
  • mysqli_stmt_bind_result 的奇怪问题

    好吧 这让我很烦恼 我似乎在 PHP 文档中找不到任何内容 在 Google resultosphere 中也找不到任何内容 所以也许有人可以在这里提供帮助 我正在使用准备好的语句 绑定结果 然后使用这些绑定结果来填充下拉列表 例子
  • Laravel 中的支付网关回调时会话会自动销毁

    我正在尝试将 CCavenue com 支付网关集成到我的 Laravel 7 项目中 我面临的唯一问题是在回调 url 中 从支付网关获取发布数据后 活动会话会自动销毁 我还向中间件添加了 CSRF 例外 PayController 生成
  • 有没有办法获取 PHP 中可用区域设置的列表?

    在Java中 你可以调用Locale getAvailableLocales 获取可用区域设置的列表 我期待 PHP 的同等功能Locale http php net manual en class locale php类 但找不到 有没有
  • PHP:从 POP3 或 IMAP 下载传入电子邮件,解析它,并将其标记为服务器上的已读/删除

    我正在尝试将传入电子邮件添加到我的网络应用程序中 它是基于 CodeIgniter 和 PHP 构建的 据我所知 我还没有找到任何 CI 库来执行此操作 我想要做的是有一个控制器通过 POP3 或 IMAP 连接到我的邮箱 并检索消息 解析
  • 如何使用 jquery imgAreaSelect 用 php 裁剪图像?

    我正在使用以下 javascript 代码来实例化 jquery图像区域选择 http odyniec net projects imgareaselect 裁剪我的图像 document ready function ladybug im
  • PHP 对象创建和内存使用

    一个基本的虚拟类 class foo var bar 0 function foo function boo echo memory get usage echo n foo new foo echo memory get usage ec
  • 下载表格 - 选择文件合并到 Zip 中

    我希望创建一个表单 用户可以从手册列表中进行选择 总共10个 他们可能只想下载 3 份小册子 或 6 份 或 1 份 或 9 份小册子 但想法是他们选择所需的小册子 然后用脚本组合一个包含所需小册子的 zip 文件 任何人都可以提出任何建议
  • PHP 中的数据清理[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 创建具有动态更新变量的数组

    我有一些 PHP 变量 它们的名称直接链接到它们包含的函数 是否有办法自动创建这些变量 以便我可以使用所有变量 00 200 这就是我现在正在做的事情 regdays00 is user reg matured 00 regdays02 i
  • PHP + FTP删除文件夹中的文件

    我刚刚编写了一个 PHP 脚本 它应该连接到 FTP 并删除特殊文件夹中的所有文件 它看起来像这样 但我不知道需要什么命令来删除文件夹日志中的所有文件 任何想法
  • 从字符串中的链接中删除基本 URL

    我有一个带有图像链接的字符串 image link raw http website com files 2012 10 image001 png 现在我想删除http website com然后就得到 files 2012 10 imag
  • 升级到 5.4 但“php -v”仍然返回旧版本

    我使用的是 OSX Lion 10 7 5 正如建议的如何在 Mac OS X 中升级 PHP https stackoverflow com questions 2526085 how do i upgrade php in mac os

随机推荐

  • 如何在 ASP.Net 站点中启用 FCKeditor 的实时预览?

    Over in this对于这个问题 Scott 写道 可以通过使用来获取 FCKeditor 中写入内容的当前 HTMLFCKeditorAPI Instances instanceNameHere GetHTML 有人可以提供有关如何在
  • Android:如何混合 2 个音频文件并使用 soundPool 重现它们

    我正在尝试开发一个 Android 应用程序 它使用一些声音并将它们混合在一起来创建音乐作品 一开始 我尝试同时再现声音 但是当我这样做时 它们变得不同步 在阅读论坛几个小时后 我意识到在循环模式下同时再现多个声音的最佳方法就是将音频文件合
  • 使用 matplotlib 和 pandas 库绘图不清楚

    有什么解释为什么我会得到这样的情节吗 指数回报的范围是从 100 到 130 我需要帮助来理解上面的这个图 代码很简单 但是情节不太清晰 import needed library import numpy as np import mat
  • 用于 IOS 开发的 QMessagebox 的任何替代解决方案(仅限 QWidget 应用程序)?

    我正在使用 Qt 5 3 并尝试为 IOS 开发应用程序 问题是 iPhone Retina 模拟器中的 QWidget 应用程序 QMessage 变为全屏 在应用程序输出面板中我看到 此插件不支持 传播大小提示 因此正在寻找 QMess
  • java 可以在对象仍在作用域内时终结该对象吗?

    我一直在研究代码中的一个错误 该错误似乎是由一些 丑陋 的终结器代码引起的 代码大致是这样的 public class A public B b new B Override public void finalize b close pub
  • sql server奇怪的Identity增量

    我在 SQL Azure 上设置了这个表 CREATE TABLE dbo Sl ID int IDENTITY 1 1 NOT NULL PublicId uniqueidentifier NOT NULL CONSTRAINT Prim
  • 如何从 MS Word 创建 PCL 文件

    如何创建类似于现有 MS 文档的新 PCL 文件 我有 MS 文档模板并将其替换为实际数据 我需要实现相同的 PCL 格式 创建 PCL 文件作为模板并将其替换为数据库中的实际值并将其发送到传真 安装新打印机 当询问端口时 创建一个 本地端
  • 来自另一个线程的 DoDragDrop()

    每次我想让用户拖动一个控件时 我都会调用该控件的 DoDragDrop 拖放工作正常 但我对周围的事情有问题 DoDragDrop 完全阻塞表单 没有计时器事件跳转 没有处理绘制消息 DoDragDrop 不仅会阻止拖放操作 还会阻止目标程
  • 尝试删除文件时“该进程无法访问该文件,因为该文件正在被另一个进程使用”

    当逐一删除文件时 会生成错误 该进程无法访问该文件 因为在尝试删除文件时该文件正在被另一个进程使用 代码 对于删除这样的文件有什么建议吗 private void DeleteFilesFromDestination string cons
  • MinGW 链接器错误:winsock

    我正在 Windows 上使用 MinGW 编译器来编译带有套接字的 C 应用程序 我的链接命令如下所示 g exe Wall Wno long long pedantic lwsock32 o dist Windows piskvorky
  • 在 PDO 中获取 SUM

    下面是我的代码 由于某种原因它没有给我总和 它总是返回 0 为什么它不起作用 我用过if totSubmits 以避免我的数据库中出现空白字段 我也尝试删除AS due fees并使用 dueAmont result 0 但没有运气 sql
  • C++ |主函数错误 |初学者[重复]

    这个问题在这里已经有答案了 我对 C 完全陌生 我正在使用 Eclipse 但是 我不知道为什么我在 main 函数中收到此错误 错误 main 必须返回 int 我的代码是 void main char a while a q strin
  • 如何在 bootstrap 4 和 angular2 中使用 Glyphicons?

    我正在使用 angular cli 和 bootstrap4 制作一个应用程序 但是当我对 Glyphicons 进行一些引用时 图标不会出现 例如 当我添加以下代码时
  • 响应式全屏 CarouFredSel 幻灯片

    这是一个自我问答 我已经使用令人惊叹的 CarouFredSel 滑块插件进行开发很长时间了 每次我必须制作需要在宽度和高度上响应的全屏幻灯片时 我都会忘记该怎么做 所以我为我和所有其他为此苦苦挣扎的人做了这个问答 所以 问题是 如何制作全
  • Java 1.6 与 C++ 的性能对比?

    随着 Java 1 6 的推出 我们是否可以说 Java 1 6 的性能几乎与 C 代码相当 或者与 C 相比 Java 在性能方面仍然有很多需要改进的地方 Thanks Debian 喜欢对这类事情进行基准测试 在他们的例子中 Java
  • JavaPreparedStatementsetString改变字符

    正如标题所示 可以肯定的是 我正在调试我的应用程序 因此在我将字符串放入PreparedStatement变量中时 特殊字符将更改为 我实际上不知道在哪里搜索应该修复它的东西 所以我不知道是否需要代码 无论如何 我会在这里放一些 Prepa
  • 如何从 FZF 在特定应用程序中打开文件

    我想用FZF搜索文件 然后在我选择的编辑器中打开它们 例如太棒了 原子 我不知道如何为此配置我的 shell 我已经尝试了以下方法 但无法让它工作 你能帮我吗 Thanks fe local files IFS n files fzf tm
  • c++:如何打印不带回车的新行[重复]

    这个问题在这里已经有答案了 可能的重复 如何使 cout 表现得像二进制模式 我使用 C 将二进制数据打印到标准输出 然后将其重定向到文件 我不想直接写入文件 但是 当我尝试打印该值时 0A 我正进入 状态 0D 0A 这是我将输出复制到
  • 从平面 Modelica 代码中提取类型/类名

    我想知道是否已经存在从平面 Modelica 代码中提取所有变量及其相应类型 分别为类名 的可能性 例如 给定扁平 Modelica 模型的摘录 constant Integer nSurfaces 8 constant Integer c
  • 使用 DOMDocument 从网站抓取所有图像

    我基本上想要得到ALL使用 DOMDocument 的任何网站中的图像 但由于某些我还不知道的原因 我什至无法加载我的 html url http