PHP ブック Web サイト コレクションのサンプル チュートリアル
- WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
- 2016-06-21 08:57:481167ブラウズ
インターネット上で、特に書籍の Web サイトに関する簡単なコレクションのチュートリアルをたくさん見ましたが、Balu 中国語の Web サイトのクロールと分析に関する記事を読んだ後、この Web サイトを対象に簡単なものを書くことにしました。例を含むクロールのチュートリアル。私は怠け者なので、この記事の分析の多くは「PHP を使用してシンプルなコンテンツ コレクターを作成する」からのもので、プロセスをさらに最適化し、コード サンプルの作成を完了しました。
収集プログラムの実行は実際には難しくありません。プロセスを明確に分析し、適切な規則を使用して必要なコンテンツを取得するだけです。ナンセンスな話はこれくらいにして、チュートリアルが始まります:
1. 分析の入り口:
さらにいくつかの本を開いた後、本のタイトルの基本的な形式が次のとおりであることがわかります: http://www.86zw.com/Book/ ISBN/インデックス .aspx。
コード:
$BookId='1888';
$index="http://www.86zw.com/Book/".$BookId."/Index が得られます。 aspx";//結合参考文献ホームページ URL
2. ページを開きます:
コード:
$contents=file_get_contents($index);
3. 書籍情報ページを取得します:
コード:
//ブック関連情報をキャプチャします
preg_match_all("/(.*) span>
/is",$contents,$Arraytitle);
preg_match_all("/[クリックして読んでください]/is",$contents,$Arraylist);
unset($contents);
$title=$Arraytitle[1][0];//書籍タイトル
$list="http://www.86zw.com".trim($Arraylist[1][0]);//リストページ URL
4. 保存ディレクトリとファイルを作成します。 🎜 >
コード:
//テキストドキュメント名を生成
$txt_name=$title.".txt";
Creatdir($BookId);//画像フォルダーを作成
writeStatistic($ title."rn",$txt_name);//本のタイトルをテキスト ファイルに書き込みます
5. リスト ページに入る:
コード:
//リスト ページに入る
$list_contents=file_get_contents ($list);
6. リスト ページからチャプターを取得します:
コード:
//リスト ページに入ります
//チャプターごとにブロックをキャッチします
preg_match_all("|< div id="NclassTitle">(.*) 【巻いて読む] (.*)< ;div id=" ListEnd">
|Uis",$list_contents,$Block);
//総チャプター数を計算
$regcount=count($Block[0]) ;
7. ポイント 章を取得します:
コード:
//章を入力します
for($pageBookNum=0;$pageBookNum<$regcount;$pageBookNum++){
unset($Zhang);
unset($list_url);
$Zhang=$Block[1][$pageBookNum];//章タイトル
writeStatistic('Chapter:'.($pageBookNum+1) ).' '.$Zhang ."rn",$txt_name);//章のタイトルをテキスト ファイルに書き込みます
preg_match_all("|
( .*)|Uis",$Block[3][$pageBookNum],$list_url);
//ページに入る
for($ListNum=0;$ListNum
unset($Book_url);
unset($Book);
unset($Book_contents);
unset($Book_time);
unset($Book_title);
$Book_time=$list_url[2][$ListNum];//小章更新情報
$Book_title=$list_url[3] ][$ListNum];//小章のタイトル
$Book_url=preg_replace("'Index.shtm'si",$list_url[1][$ListNum],$list);//小章のリンク URL
writeStatistic(($ListNum+1) .'.'.$Book_title.'-'.$Book_time."rn",$txt_name);//小さな章のタイトルをテキスト ファイルに書き込みます
$Book=file_get_contents ($Book_url);
本の内容を取得する
preg_match_all("/
/i", $Book_contents)) {
// 写真の URL を撮影します
Preg_match_all ("| | & LT; div align =" center "& gt; & lt; img src =" (.*) "Id =" imgBook "name =" IMGBOOK " border =" 0 " / / > {
unset($Image_url);
$Image_url="http://www.86zw.com".trim($images[1][$ImageNum]);
$New_url='image/ '.$BookId.'/'.time().'.gif';
="
";
s,$txt_name。 );/ /テキスト ファイルに書き込まれるコンテンツ
}//ページ ループの終わり
}//章ループの終わり
使用される 2 つの関数:
コード:
/**
* 指定されたファイルパッケージにコンテンツを書き込みます
*
* パラメーター: 文字列 $sql: 書き込まれたコンテンツ
文字列 $txt_name: 指定されたファイル名
* 戻り値: void
* スコープ: 公開
* 日付: 2007-11-29
*/
function writeStatistic($sql,$txt_name){
$filename="txt_packet/".$txt_name;//ファイルのパスの変更に注意してください
if (file_exists( $filename)) {
$fp=fopen($filename,"a"); sql;
fwrite($fp,$text);
fclose($fp);
}
/**
* フォルダーの作成
*
* パラメーター: 文字列 $BookId: フォルダー名を指定
* 戻り値: void
* スコープ: public
* 日付: 2007-11-29
*/
function Creatdir($BookId){
$filename="image/".$BookId;//ファイルのパスの変更に注意してください
if (! file_exists($filename)) {
mkdir($filename,0777);
}
}
それ以来、簡単な本のコレクションが完成しました。
これは、コレクションを理解したい PHPer に簡単な例を提供するために書かれています。 。 。