今日は私のコレクション コードを共有します。アイデア: 収集プログラムのアイデアは非常に単純で、次の手順に大別できます。
1. リモート ファイルのソース コードを取得します (file_get_contents または fopen を使用します)。コードを分析して、必要なコンテンツを取得します (ここでは、通常はページネーションを取得するために形式的なマッチングが使用されます)。
3. ルートから取得したコンテンツをダウンロードして保存します。
ここでの 2 番目のステップは、数回繰り返す必要がある場合があります。たとえば、最初にページング アドレスを分析し、次に内部ページのコンテンツを分析して、必要なものを取得する必要があります。
コード:
以前にコードの一部を投稿したことを覚えています。今日は単にここに投稿します。
PHP コード:
@$nl=file_get_contents($rs['url']);//抓取远程内容 preg_match_all("/var url = "gameswf/(.*?).swf";/is",$nl,$connect);//进行正规匹配取得自己要的内容 mysql_query("insert ......插入数据库部分");上記のコードは、コレクションのすべての要件です。もちろん、fope を使用することもできますが、個人的には file_get_contents を使用するのが好きです。
ここでは、フラッシュからローカルに写真をダウンロードする方法を紹介します。これは 2 行のコードだけです。
if(@copy($url,$newurl)){ echo 'ok'; }
/*本存图片函数*/ function getimg($url,$filename){ /*判断图片的url是否为空,如果为空停止函数*/ if($url==""){ return false; } /*取得图片的扩展名,存入变量$ext中*/ $ext=strrchr($url,"."); /*判断是否是合法的图片文件*/ if($ext!=".gif" && $ext!=".jpg"){ return false; } /*读取图片*/ $img=file_get_contents($url); /*打开指定的文件*/ $fp=@fopen($filename.$ext,"a"); /*写入图片到指点的文件*/ fwrite($fp,$img); /*关闭文件*/ fclose($fp); /*返回图片的新文件名*/ return $filename.$ext; }
2. できるだけ早く集めるサイトは、現地で集めるのがベストです
3. 集める場合は、できる場合が多いです。最初にデータの一部をデータベースに保存し、後で次の処理ステップを待ちます。
4. 収集時にエラーを処理する必要があります。収集が 3 回失敗した場合は、通常はスキップします。以前は、コンテンツを選択するのに迷ってしまうことがよくありました。
5. データベースに入る前に適切な判断を下し、コンテンツの合法性をチェックし、不要な文字列をフィルタリングする必要があります。
上記がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。
関連する推奨事項:
PHP 辞書ツリーの定義と実装方法について以上がPHPプログラムが収集するコードについての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。