简单的 HTML DOM 基本上是您添加到页面的 php,它可以让您进行简单的网络抓取。这在大多数情况下都很好,但我无法弄清楚手册,因为我不是一个编码员。是否有任何网站/指南可以为此提供更简单的帮助?(php.net 上的那个对我来说有点太复杂了)有没有更好的地方来问这种问题?
它的网站位于:http ://simplehtmldom.sourceforge.net/manual.htm
我可以抓取具有特定类的东西,例如<tr class="group">
,但不能抓取介于两者之间的东西。例如..这是我目前使用的...
$url = 'http://www.test.com';
$html = file_get_html($url);
foreach($html->find('tr[class=group]') as $result)
{
$first = $result->find('td[class=category1]',0);
$second = $result->find('td[class=category2]',0);
echo $first.$second;
}
}
但这是我试图抓取的那种代码。
<table>
<tr class="Group">
<td>
<dl class="Summary">
<dt>Heading 1</dt>
<dd><a href="#123" class="ViewProfile">Cat</a></dd>
<dd><a href="#032" class="ViewProfile">Bacon</a></dd>
<dt>Heading 2</dt>
<dd><a href="#143" class="ViewProfile">Narwhal</a></dd>
<dd><a href="#642" class="ViewProfile">Ice Soap</a></dd>
</dl>
</td>
</tr>
</table>
我正在尝试提取每个内容<dt>
并将其放入变量中。然后我试图提取每个的内容<dd>
并将其放入一个变量中,但我没有尝试过任何工作。这是我能找到的最好的,但它只给了我第一个标题而不是第二个标题。
foreach($html->find('tr[class=Summary]') as $result2)
{
echo $result2->find('dt',0)->innertext;
}
感谢任何能提供帮助的人。抱歉,如果不清楚或太长了。理想情况下,我希望能够更多地理解这些 DOM 命令,因为我想自己解决这个问题,而不是这里的某个人只是这样做(但我也很感激)。
TL;DR:我试图了解如何使用手册中列出的命令(上面的 url)。“手册”还不够简单。你如何去学习这些东西?