-4

Simple 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 を取得します。
    • このページがすでに DB に存在するかどうかを確認します。もしそうなら:
      • (while の次の反復に進みます) //サイクルを回避します。
    • DOM パーサーを使用して、このページを解析してください。
    • このページから必要な詳細を取得し、DB に保存します
    • <a>すべてのタグを探します。<a>タグ ごとに次の操作を行います。
      • src属性を取得する
      • src属性をキューにプッシュします。
    • (継続する)
于 2012-07-07T17:30:07.903 に答える