我正在尝试从网站上抓取一些数据。我对此还比较陌生,因此我愿意接受任何建议。我看过几篇stackoverflow帖子,但找不到类似的问题/解决方案。
首先,我使用DOM查找页面中的所有div(此处以https://stackoverflow.com/为例)。然后,我可以轻松获取'class ='或'id ='中包含的任何信息。但是,此页面使用了一些包含链接的其他非标准标签。我想抓取此链接信息。例如:
<div class="made-up-class" additional-link="https://www.google.com/">
理想情况下,我将从附加链接中获取所有信息。
到目前为止,我的代码无效,
<?php
require 'simple_html_dom.php';
$html = file_get_html('https://stackoverflow.com/');
foreach($html->find('div') as $element)
$element->find('additional-link');
echo $element;
?>
谢谢。
答案 0 :(得分:0)
第一件事。对于多行循环,必须使用大括号,请选中PSR-2 standard。
因此,在您的示例中,首先执行此操作:
foreach($html->find('div') as $element) {
$element->find('additional-link');
echo $element; }
答案 1 :(得分:0)
如果我理解您的问题,则可以遵循以下方法来获取additional-link
的价值。我展示了如何解析单个元素。鉴于您始终可以创建一个循环来获取所有内容。
<?php
require('simple_html_dom.php');
$html = "https://stackoverflow.com/";
$htmldoc = file_get_html($html);
$item = $htmldoc->find('[class="made-up-class"]',0);
echo $item->getAttribute("additional-link");
?>