Maison  >  Article  >  développement back-end  >  À propos du code collecté par le programme PHP

À propos du code collecté par le programme PHP

不言
不言original
2018-06-19 11:26:141099parcourir

Aujourd'hui je partage avec vous mon code de collection ! Idée : L'idée du programme de collecte est très simple et peut être grossièrement divisée en les étapes suivantes

1 Obtenez le code source du fichier distant (file_get_contents ou utilisez fopen). . Analysez le code pour obtenir le contenu souhaité (la correspondance formelle est utilisée ici, généralement pour obtenir la pagination).
3. Téléchargez et stockez le contenu obtenu à partir de la racine.
La deuxième étape ici devra peut-être être répétée plusieurs fois. Par exemple, nous devons d'abord analyser l'adresse de pagination, puis analyser le contenu de la page intérieure pour obtenir ce que nous voulons.
Code :
Je me souviens avoir posté une partie du code auparavant. Aujourd'hui, je vais simplement le publier ici
Code PHP :

@$nl=file_get_contents($rs['url']);//抓取远程内容 
preg_match_all("/var url = "gameswf/(.*?).swf";/is",$nl,$connect);//进行正规匹配取得自己要的内容 
mysql_query("insert ......插入数据库部分");
Le code ci-dessus est tout le code à utiliser. être utilisé est collecté. Bien sûr, vous pouvez également utiliser fope pour le faire. Personnellement, j'aime utiliser file_get_contents.

Je vais maintenant partager ma méthode de téléchargement d'images du flash vers le local C'est trop simple Deux lignes de code
Code PHP :

if(@copy($url,$newurl)){ 
echo 'ok'; 
}
J'ai également posté un téléchargement d'image. fonction sur le forum avant. Je le publierai également pour tout le monde

Code 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; 
}
Partagez mon expérience personnelle de collection :

1. N'utilisez pas de sites protégés contre les hotlinking. En fait, vous pouvez truquer la source, mais le coût de collecte d'une telle station est trop élevé
2. Pour les stations qui collectent le plus rapidement possible, il est préférable de collecter localement
3. Lors de la collecte, il y a plusieurs fois, une partie des données peut d'abord être stockée dans la base de données, puis l'étape suivante du traitement peut être effectuée.
4. Vous devez gérer les erreurs lors de la collecte. Je l'ignore généralement si la collecte échoue trois fois. Dans le passé, j'étais souvent obligé de choisir un élément de contenu simplement parce que je ne pouvais pas le récupérer.
5. Vous devez faire preuve de discernement avant d'entrer dans la base de données, vérifier la légalité du contenu et filtrer les chaînes inutiles.

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

À propos de la définition et de la méthode d'implémentation de l'arborescence du dictionnaire PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn