ホームページ >バックエンド開発 >PHPチュートリアル >プログラム PHP コレクション プログラム原理分析

プログラム PHP コレクション プログラム原理分析

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-07-29 08:42:04912ブラウズ

数日間真剣に考えた結果、ようやくその背後にある理由がわかりました。ここに書いて専門家に訂正してもらいましょう。
コレクション プログラムのアイデアは非常にシンプルで、ページ (通常はリスト ページ) を開き、その中のすべてのリンクのアドレスを取得し、リンクを 1 つずつ開いて検索するだけです。見つかった場合は、データベースまたは他の処理に入れます。非常に簡単な例で説明しましょう。
まず、コレクション ページ (通常はリスト ページ) を決定します。ここでのターゲットは http://www.jb51.net/article/11/index.htm です。これはリストページであり、私たちの目的はこのリストページにあるすべての記事を収集することです。
最初のステップは、リストページを開いてそのコンテンツをプログラムに組み込むことです。一般に、fopen または file_get_contents の 2 つの関数が使用されます。ここでは例として fopen を使用します。どうやって開けるのですか? $source=fopen("http://www.jb51.net/article/11/index.htm",'r'); 実際、コンテンツはプログラムに組み込まれています。取得された $source はリソースであり、処理可能なテキストではないことに注意してください。そのため、今回は実際の編集可能なテキストを変数に読み取るために関数 fread が使用されます。例:
$c//www.jb51.net/article/7/all/545.1.htm)]。ソース コードを見ると、内部の記事のリンク アドレスはすべて次のようになっていることがわかります

データベース接続コードを関数にカプセル化し、読み取る必要があるときに呼び出します。..
正規表現を記述できます。 $count=preg_match_all("/
(.+?)/",$content,$art_list);
配列 $art_list[1][$s] には記事のリンクアドレスが含まれます。そして$art_list[2][$s]にはある記事のタイトルが入っています。この時点で、戦いは半分終わったと考えられます。
次に、for ループを使用して各リンクを順番にヒットし、タイトルと同じ方法でコンテンツを取得します。上記はオンラインで見つけたチュートリアルと似ていますが、この for ループに関してはオンライン チュートリアルはひどいもので、最初はループを助けるために js を使用していました。例を示します。
for($i=0;$i<20;4i++ {
真ん中はコンテンツを収集する部分ですが、これは省略されています。
その後ページが収集されました。別のページを収集する必要があります。しかし、fopen を使用してリンクを開くと機能しません。また、js では機能しません。このエコー「}
私の心は少し不快です。文章は少し汚いので、専門家にとっては大したことではないかもしれませんが、私のような初心者にとっては非常に役立ちます。
上記は、プログラムの内容を含む PHP コレクションのプログラム原理分析の紹介です。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。