インターネット上で、特に書籍の 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("/
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("|(.*) 【巻いて読む](.*)|Uis",$list_contents,$Block);
//総チャプター数を計算
$regcount=count($Block[0]) ;
7. ポイント 章を取得します:
コード:
//章を入力します
for($pageBookNum=0;$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("/
// 写真の 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 に簡単な例を提供するために書かれています。 。 。
収集プログラムの実行は実際には難しくありません。プロセスを明確に分析し、適切な規則を使用して必要なコンテンツを取得するだけです。ナンセンスな話はこれくらいにして、チュートリアルが始まります:
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("|(.*) 【巻いて読む](.*)|Uis",$list_contents,$Block);
//総チャプター数を計算
$regcount=count($Block[0]) ;
7. ポイント 章を取得します:
コード:
//章を入力します
for($pageBookNum=0;$pageBookNum unset($Zhang);
unset($list_url);
$Zhang=$Block[1][$pageBookNum];//章タイトル
writeStatistic('Chapter:'.($pageBookNum+1) ).' '.$Zhang ."rn",$txt_name);//章のタイトルをテキスト ファイルに書き込みます
preg_match_all("|
//ページに入る
for($ListNum=0;$ListNum
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 に簡単な例を提供するために書かれています。 。 。
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事
アサシンのクリードシャドウズ:シーシェルリドルソリューション
3週間前ByDDD
Atomfallのクレーンコントロールキーカードを見つける場所
3週間前ByDDD
R.E.P.O.で節約説明した(そしてファイルを保存)
1 か月前By尊渡假赌尊渡假赌尊渡假赌

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
