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

PHPコレクションプログラムの原理分析_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:40:24874ブラウズ

数日間真剣に考えた結果、ようやくその背後にある理由がわかりました。ここに書いて専門家に訂正してもらいましょう。
コレクション プログラムのアイデアは非常にシンプルで、ページ (通常はリスト ページ) を開き、その中のすべてのリンクのアドレスを取得し、リンクを 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 が使用されます。例:
$content=fread($source,99999); 次の数字はバイト数を示します。大きい値を入力してください。 file_put_contents を使用して $content をテキスト ファイルに書き込みます。内部のコンテンツが実際には Web ページのソース コードであることがわかります。 Web ページのソース コードを取得した後、内部の記事リンク アドレスを分析する必要があります。ここでは正規表現を使用します (http://www.jb51.net/article/7/all/545.1. html)]。ソース コードを見ると、内部の記事のリンク アドレスはすべて次のようになっていることがわかります

データベース接続コードを関数にカプセル化し、読み取る必要があるときに呼び出します。..
正規表現を記述できます。 $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 では機能しません。この echo "" を使用します。ここで、aa.php はプログラムのファイル名です。ID の後の数字は、ループの実装と複数のページの収集を手伝ってください。これが真のループの鍵です
}
少し頭を使ってください。申し訳ありませんが、文章が少し乱雑です。専門家の目には大したことではないかもしれません。 , でも、私のような初心者にとってはとても助かります

http://www.bkjia.com/PHPjc/321368.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/321368.html技術記事数日間真剣に考えた後、ようやくその背後にある理由がわかりました。ここに書いて専門家に訂正してもらいましょう。 コレクション プログラムのアイデアは非常にシンプルで、最初にページ (通常はリスト ページ) を開くだけです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。