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 ......插入数据库部分");
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'; }
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; }
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.
À 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!