如何抓取SimpleHTMLDom返回的网站?

问题描述:

我简单的HTML DOM工作,但现在我想它开始抓取URL的返回,无爬行的URL,它已经抓取。我怎么用PHP/MySQL/HTML来做到这一点?如何抓取SimpleHTMLDom返回的网站?

<?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(); 
?> 

我已经看过它,但我似乎无法找到任何关于搜索结果返回。

+1

路太广,因此是特定的编程问题。 – 2012-07-07 17:28:48

+0

我想弄清楚如何抓取它返回的网址。我已经看过它,但我无法发现任何东西。我试图弄清楚我该怎么做...... – Zacharysr 2012-07-07 17:30:45

你列出一个特定页面的图片吗?你的代码做到了。它不爬行。对于爬行您通常会看出来的<a>标签,获得src属性,把它推到堆栈或队列,进一步抓取。


总体思路:

  • 队列=阵列($ curPage); //或者使用Stack for Depth首先搜索;你可以在圆圈(循环)当队列不为空运行
  • :#或任何更好的条件..
    • 蹦出第一个元素。获取页面的URL。
    • 检查,如果在数据库中已存在此页面;如果这样:
      • (继续而下一次迭代)//避免循环。
    • 用你的DOM解析器解析出该页面。
    • 获取你想要的任何细节,并将它们存储到您的数据库中
    • 寻找所有<a>标签。对于每个<a>标签做:
      • 获取src属性
      • src属性到队列中。
    • (继续)
+0

我并没有真正弄清楚我正在尝试的主要事情。但是我确实输入了它进入数据库的所有信息。我有它检查,看看网址是否已经在数据库中,如果没有,它会进入它。每天上午12点和下午12点,它会重新抓取并在数据库中添加更多内容。 – Zacharysr 2012-07-07 22:35:46