php - 如何使用 PHP 简单的 HTML DOM 解析器获取标签的属性

标签 php html curl

我正在使用 PHP Simple HTML DOM parser报废网站数据,但不幸的是无法提取我想要的数据。我也尝试用谷歌搜索并查看文档,但无法解决问题。我试图废弃的代码结构是这样的。

<div id="section1">
   <h1>Some content</h1>
   <p>Some content</p>
   ............
    <<Not fixed number of element>>
   ............
   <script> <<Some script>></script>
   <video>
     <source src="www.exmple.com/34/exmple.mp4">
   </video>
</div>

我试过使用 JavaScript,我也可以这样做

document.getElementById("section1").getElementsByTagName("source")[0].getAttribute("src");

但是当我尝试使用 PHP Dom 解析器时,我没有得到任何数据。 这是我的代码的样子

require ''.$_SERVER['DOCUMENT_ROOT'].'/../lib/simplehtmldom/simple_html_dom.php';

 $html_content = get($url); //This is cURL function to get website content.
 $obj_content = str_get_html($html_content);
 $linkURL = $obj_content->getElementById('section1')->find('source',0)->getAttribute('src');
var_dump($linkURL); 

这会产生一个空字符串。我也尝试在这里和那里更改代码,但每次都没有这些工作是空白的。但是如果我 var dump $obj_content 我得到很多 dom 元素

我试图关注这些来自 stackoverflow 的帖子,它们与我的相似,但这些对我没有帮助。

  1. How do I get the HTML code of a web page in PHP?
  2. PHP Simple HTML DOM
  3. PHP Simple HTML DOM Parser Call to a member function children() on a non-object
  4. 和他们的手册http://simplehtmldom.sourceforge.net/manual.htm

谁能帮帮我

谢谢

最佳答案

代码片段就这样很好。问题是我定位的 URL 在页面加载时不存在。它是由 <script> 添加的页面加载后的标签。

谢谢@WillardSolutions

关于php - 如何使用 PHP 简单的 HTML DOM 解析器获取标签的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51827022/

相关文章:

php - 在 laravel 查询中检查条件

PHP stdClass 对象,如何获取索引为 0 的元素

html - 如何自定义 Bootstrap 导航栏的高度?

php - 隐藏输入框自动生成的最后结果

php - Laravel 5.1 - 每次刷新都会重新生成 session

header 重定向后,javascript 警告框未显示在 php 上

javascript -++ 在我的函数中没有添加正确的数字

node.js - npm 无法从 registry.npmjs.org 安装

c - 将 CURL 结果放入字符串而不是 STDOUT?

php - 使用 php curl 逐 block 下载大文件