博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php做的一个简易爬虫
阅读量:5279 次
发布时间:2019-06-14

本文共 2581 字,大约阅读时间需要 8 分钟。

对于爬虫的好奇好像由来已久,一直在研究python的爬虫,今天得空研究研究php的爬虫

index.php

1 
set('start_page',90000); 7 $img->set('end_page',90010); 8 $img->start_getimg(); 9 }else{10 echo "开始";11 }

getimg.php

1 
$key=$val; 20 } 21 22 /*CURL*/ 23 private function curl_get_con($url,$https=true,$method="get",$data=null){ 24 $ch=curl_init(); 25 26 curl_setopt($ch,CURLOPT_URL,$url); 27 28 curl_setopt($ch,CURLOPT_HEADER,false); 29 30 curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); 31 32 if($https){ 33 curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false); 34 35 curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false); 36 } 37 38 if($method=="post"){ 39 curl_setopt($ch,CURLOPT_POST,true); 40 41 curl_setopt($ch,CURLOPT_POSTFIELDS,$data); 42 } 43 44 $str=curl_exec($ch); 45 46 curl_close($ch); 47 48 return $str; 49 } 50 51 /*保存图片方法*/ 52 private function save_img($url,$dir,$i){ 53 //创建目录 54 if(!is_dir($dir)){ 55 mkdir($dir,777); 56 } 57 //获取内容 58 $res=file_get_contents($url); 59 //命名文件 60 $file_name=$dir.'/'.$i.'_'.date('Ymd_His').'.jpg'; 61 //重写 62 file_put_contents($file_name,$res); 63 return $file_name; 64 } 65 66 67 68 /*获取方法*/ 69 public function start_getimg(){ 70 71 echo " 72
"; 73 for($i=$this->start_page+1;$i<=$this->end_page;$i++){ 74 //爬 地址 75 $url="https://www.bbb290.com/htm/pic2/".$i.".htm"; 76 //开启CURL 获取到内容 77 $result=$this->curl_get_con($url); 78 //使用正则匹配内容中的 图片 79 preg_match_all("/https:\/\/img.*jpg/U",$result,$a); 80 81 $a=$a[0]; 82 83 echo "
"; 87 continue; 88 } 89 90 foreach ($a as $value){ 91 //保存图片 92 $file_name=$this->save_img($value,$this->url,$i); 93 echo ""; 94 } 95 if($i==$this->end_page){ 96 echo "     ----".$i."捕捉结束。"; 97 echo "全部捕捉结束。"; 98 break; 99 }100 echo "     ----".$i."捕捉结束。";101 }102 }103 }
爬虫已运行:请查看".$this->url."文件夹
正在捕捉".$i."。 "; 84 85 if(empty($a)){ 86 echo "
     ----".$i."为空。

网址貌似被河蟹了~~ 

转载于:https://www.cnblogs.com/we-jack/p/8178099.html

你可能感兴趣的文章
2017前端面试题总结
查看>>
SWIFT国际资金清算系统
查看>>
站立会议第四天
查看>>
利用AMPScript获取Uber用户数据的访问权限
查看>>
Mysql 数据库操作
查看>>
转:linux终端常用快捷键
查看>>
UVa 11059 最大乘积
查看>>
数组分割问题求两个子数组的和差值的小
查看>>
composer 报 zlib_decode(): data error
查看>>
hdu 3938 并查集
查看>>
《深入分析Java Web技术内幕》读书笔记之JVM内存管理
查看>>
python之GIL release (I/O open(file) socket time.sleep)
查看>>
软件开发与模型
查看>>
161017、SQL必备知识点
查看>>
kill新号专题
查看>>
MVC学习系列——Model验证扩展
查看>>
字符串
查看>>
vue2.x directive - 限制input只能输入正整数
查看>>
实现MyLinkedList类深入理解LinkedList
查看>>
自定义返回模型
查看>>