我正在使用PHP Simple HTML DOM parser抓取网站数据,但不幸的是无法提取我想要的数据。我也尝试过使用google并查看文档,但无法解决问题。我要删除的代码结构是这样的。
<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上与我的帖子类似的帖子,但是这些并没有帮助我。
任何人都可以帮助我
谢谢
答案 0 :(得分:0)
该代码段可以正常使用。问题是页面加载时我定位的URL不存在。页面加载后,它是由<script>
标签添加的。
谢谢@WillardSolutions