ホームページ >バックエンド開発 >PHPチュートリアル >php は単純なクローラーの開発を実装します。php はcrawlers_PHP チュートリアルを実装します。
仕事や私たち自身のニーズにより、必要なデータを取得するためにさまざまな Web サイトを閲覧することがあります。そのため、私が開発しているものは次のとおりです。 simple クローラーの旅と遭遇した問題。
クローラーを開発するには、まずクローラーが何に使用されるかを知る必要があります。これを使用して、さまざまな Web サイトで特定のキーワードを含む記事を検索し、そのリンクを取得して、すぐに読めるようにしたいと考えています。
個人的な習慣によれば、最初にインターフェイスを作成し、自分のアイデアを明確にする必要があります。
1. さまざまな Web サイトにアクセスします。次に、URL 入力ボックスが必要です。
2. 特定のキーワードを含む記事を検索します。次に、記事タイトルの入力ボックスが必要です。
3. 記事のリンクを取得します。次に、検索結果を表示するコンテナが必要になります。
コードをアップロードし、独自のスタイル調整を追加するだけで、インターフェースが完成します:
次のステップは、PHP を使用して関数を作成することです。最初のステップは、Web サイトの HTML コードを取得することです。1 つずつは紹介しません。ここでは、curl を使用して Web サイトの URL を渡すと、HTML コードが得られます。 リーリー
HTML コードを取得しても、すぐに問題、つまりエンコーディングの問題が発生し、次のマッチングのステップが無駄になる可能性があります。ここでは、取得した HTML コンテンツを utf8 エンコーディングに一律に変換します。 リーリーWeb サイトの HTML と記事の URL を取得するには、次のステップは Web ページの下にあるすべての a タグを照合することです。これには正規表現を使用する必要があります。多くのテストを経て、最終的により信頼性の高い正規表現が得られました。 a タグの下の構造は非常に複雑なので、それがタグである限り、それを手放しません: (最も重要なステップ)
リーリーマッチング結果は $matches にあり、これはおそらく次のような多次元グループです:
リーリーこのデータを取得できる限り、他のすべては完全に操作可能です。この要素グループを検索し、必要な a タグを見つけて、その a タグの対応する属性を取得できます。タグを操作する方が便利です:
リーリーもちろん、これは 1 つの方法にすぎません。正規表現を使用して必要な情報を照合したり、データを使って新しいトリックを実行したりすることもできます。
次のステップは、もちろん、結果をフロントエンドに送り返して表示し、js を使用してフロントエンドでデータを取得し、jquery を使用して動的に追加します。コンテンツを編集して表示します:
リーリー上記の最終レンダリング:
興味があるかもしれない記事: php IIS ログ分析検索エンジン クローラー記録プログラム
http://www.bkjia.com/PHPjc/1117098.html