-4

我得到了简单的 HTML Dom 工作,但现在我希望它开始抓取它返回的 url,而不是抓取它已经抓取的 url。如何使用 PHP/MySQL/HTML 做到这一点?

<?php 
    include "/simple_html_dom.php";
    $target_url = "http://www.daparadise.com/";
    $html = new simple_html_dom();
    $html->load_file($target_url);
    foreach($html->find('a') as $link){
        echo $href->href."<br />";
    }
    $html -> clear();
?>

我已经查过了,但我似乎找不到任何关于搜索它返回的结果的信息。

4

1 回答 1

0

您是否列出特定页面的图像?你的代码就是这样做的。而且它不会爬行。对于爬网,您通常会寻找<a>标签,获取src属性,将其推送到堆栈或队列,然后进一步爬网。


总体思路:

  • 队列 = 数组($curPage);//或使用堆栈进行深度优先搜索;你可以绕圈跑(循环)
  • 虽然队列不为空:# 或任何更好的条件..
    • 弹出第一个元素。获取页面的 URL。
    • 检查此页面是否已存在于数据库中;如果是这样:
      • (继续下一次迭代)//避免循环。
    • 使用你的 DOM 解析器来解析这个页面。
    • 从此页面中获取您想要的任何详细信息并将它们存储到您的数据库中
    • 查找所有<a>标签。对于每个<a>标签,请执行以下操作:
      • 获取src属性
      • src属性推送到队列中。
    • (继续)
于 2012-07-07T17:30:07.903 回答