2012-07-07 94 views
-4

我簡單的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

回答

0

你列出一個特定頁面的圖片嗎?你的代碼做到了。它不爬行。對於爬行您通常會看出來的<a>標籤,獲得src屬性,把它推到堆棧或隊列,進一步抓取。


總體思路:

  • 隊列=陣列($ curPage); //或者使用Stack for Depth首先搜索;你可以在圓圈(循環)當隊列不爲空運行
  • :#或任何更好的條件..
    • 蹦出第一個元素。獲取頁面的URL。
    • 檢查,如果在數據庫中已存在此頁面;如果這樣:
      • (繼續而下一次迭代)//避免循環。
    • 用你的DOM解析器解析出該頁面。
    • 獲取你想要的任何細節,並將它們存儲到您的數據庫中
    • 尋找所有<a>標籤。對於每個<a>標籤做:
      • 獲取src屬性
      • src屬性到隊列中。
    • (繼續)
+0

我並沒有真正弄清楚我正在嘗試的主要事情。但是我確實輸入了它進入數據庫的所有信息。我有它檢查,看看網址是否已經在數據庫中,如果沒有,它會進入它。每天上午12點和下午12點,它會重新抓取並在數據庫中添加更多內容。 – Zacharysr 2012-07-07 22:35:46