ホームページ  >  記事  >  バックエンド開発  >  PHPプログラムが収集するコードについて

PHPプログラムが収集するコードについて

不言
不言オリジナル
2018-06-19 11:26:141144ブラウズ

今日は私のコレクション コードを共有します。アイデア: 収集プログラムのアイデアは非常に単純で、次の手順に大別できます。

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'; 
}

写真も投稿しました。事前にフォーラムにダウンロード機能を投稿してください。

PHP コード:

/*本存图片函数*/ 
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; 
}

個人的な収集体験を共有してください:

1. ホットリンクから保護されているサイトを収集しないでください。発信元を偽ることはできるが、そのようなサイトから集めるのはコストが高すぎる

2. できるだけ早く集めるサイトは、現地で集めるのがベストです
3. 集める場合は、できる場合が多いです。最初にデータの一部をデータベースに保存し、後で次の処理ステップを待ちます。
4. 収集時にエラーを処理する必要があります。収集が 3 回失敗した場合は、通常はスキップします。以前は、コンテンツを選択するのに迷ってしまうことがよくありました。
5. データベースに入る前に適切な判断を下し、コンテンツの合法性をチェックし、不要な文字列をフィルタリングする必要があります。

上記がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

PHP 辞書ツリーの定義と実装方法について


以上がPHPプログラムが収集するコードについての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。