PHPで簡単な内容採集器のコードを作成します。


採集器は通常泥棒プログラムとも言われています。主に他人のホームページの内容を把握するために使われます。採集器の製作については、決して難しくないです。採集するウェブページを遠隔で開いて、正規表現で必要な内容を合わせます。少し正規表現の基礎があれば、自分の採集器を作ることができます。  先日小説の連載の手続きをしましたが、更新が面倒なので、ついでに採集器を書いて、八路中国語ネットを採集しました。機能は簡単で、カスタムルールができません。  phpで採集器を作るには主に二つの関数を使います。file_ゲットするcontensts()とpreg_matchall()は、前のページの内容をリモートで読みましたが、php 5以上のバージョンでしか使えません。後の一つは正規関数です。必要な内容を抽出するために使います。  次はステップで機能を実現します。  小説を採集するので、まず書名、著者、タイプの三つを取り出します。他の情報は必要に応じて抽出できます。ここでは「明朝に帰ったら王様になる」を目標として、まず書目ページを開いて、リンク:http://www.86zw.com/Book/3727/Index.aspx 何冊かの本を多く開くと、書名の基本的なフォーマットは以下の通りです。http://www.86zw.com/Book/本の番号/Index.aspx、だから私達は1つのスタートページをすることができて、1つのは採集する本の番号を入力してから通過します。POST[[number]]というフォーマットで採集すべき書号を受信しました。本の番号を受け取ったら、下にするのは構造書のページです。http://www.86zw.com/Book/$uPOST[/number]/Index.aspxはもちろんここで例を挙げていますが、主に説明のために、実際に作った時に確認したほうがいいです。POST[‘number’の合法性。  URLを作ったら書籍情報の収集が始まります。file_を使うゲットするcontensts() 関数は本のページを開きます。ゲットするcontensts($url)は、本のページの内容を全部読み取ることができます。次は本のタイトル、著者とタイプなどの情報を合わせます。ここでは本の名前を例にとって、他のものは全部同じです。 本のページを開けて、ソースファイルを調べて、「span」を見つけます。 class=「book title」「明朝に帰ったら王様になる」という本のタイトルを抽出します。本の名前を抽出する正規表現://span class=\"news title\"(.*)\/span>/isは、preg_を使用します。matchall()関数は本の名前を取り出します:preg_matchall("/ class=\"news title\"(.*)\/span>/is"、$contens、$title;;このように$title[0][0]の内容は私達の要ったタイトルです。matchall関数の使い方は百度で調べられます。ここでは詳しく説明しません。本の情報を取り出して、次は章の内容を取って、章節の内容を取って、まずするのはすべての章の住所を探し当てて、それから遠隔で章節を開けて、正則で内容を取り出して、入庫しますかます直接にhtml静的なファイルを生みます。これはチャプタリストの住所です。http://www.86zw.com/Html/Book/18/3727/List.shtmこれは本のページと同じで、規則的に探すことができます。http://www.86zw.com/Html/Book/分類番号/書号/List.shtm。本の番号の前はすでに取って、ここの肝心な点は分類番号を探し当てるので、分類番号は前の本のページで探し当てることができて、分類番号を抽出します:preg_matchall('/Html\/Book\/[0-9]{1、}}/[0-9]{1、}\/List\.shtm/is]、$contensts、$typeid)このようにまだ足りないです。もう一つのカット関数が必要です。PHPコードは以下の通りです。これで、typeid[0]は私達が探している分類番号です。続いてチャプターリストのアドレスを作成します。 = http://www.86zw.com/Html/Book/.$typeid[0]/$uPOST[‘number']/List.shtm。これがあれば、章ごとの住所を見つけられます。方法は以下の通りです。つまり、すべてのチャプタアドレスです。ここに来たら、采集器は半分を完成します。残りはチャプタアドレスを巡回して開いて読み、内容を合わせます。これは簡単です。ここでは詳しく述べません。はい、今日はここに書きます。こんなに長い文章を書くのは初めてです。言語組織に問題があります。どうか大目に見てください。この文章は 駅長情報サイト 原文のリンク:http://webdevelop.chinahtml.com/2/2007/php-119440156516960.shtml