我正在使用 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 的帖子,它们与我的相似,但这些对我没有帮助。
- How do I get the HTML code of a web page in PHP?
- PHP Simple HTML DOM
- PHP Simple HTML DOM Parser Call to a member function children() on a non-object
- 和他们的手册http://simplehtmldom.sourceforge.net/manual.htm
谁能帮帮我
谢谢
最佳答案
代码片段就这样很好。问题是我定位的 URL 在页面加载时不存在。它是由 <script>
添加的页面加载后的标签。
谢谢@WillardSolutions
关于php - 如何使用 PHP 简单的 HTML DOM 解析器获取标签的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51827022/