php 网页抓取img

本文介绍了一种使用PHP实现的网页图片爬虫程序。该程序通过读取指定网页源代码,利用正则表达式匹配并获取所有图片链接,接着修正图片链接使其完整,最后下载并保存图片到本地。本文重点介绍了爬虫的实现步骤和技术细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php 
/*完成网页内容捕获功能*/
function get_img_url($site_name){ 
 $site_fd = fopen($site_name, "r"); 
 $site_content = ""; 
 while (!feof($site_fd)) { 
  $site_content .= fread($site_fd, 1024); 
 }
 /*利用正则表达式得到图片链接*/
 $reg_tag = '/<img.*?\"([^\"]*(jpg|bmp|jpeg|gif)).*?>/'; 
 $ret = preg_match_all($reg_tag, $site_content, $match_result); 
 fclose($site_fd); 
 return $match_result[1]; 
} 
  
/* 对图片链接进行修正 */
function revise_site($site_list, $base_site){ 
 foreach($site_list as $site_item) { 
  if (preg_match('/^http/', $site_item)) { 
   $return_list[] = $site_item; 
  }else{ 
   $return_list[] = $base_site."/".$site_item; 
 } 
 }
 return $return_list; 
}
  
/*得到图片名字,并将其保存在指定位置*/
function get_pic_file($pic_url_array, $pos){ 
 $reg_tag = '/.*\/(.*?)$/'; 
 $count = 0; 
 foreach($pic_url_array as $pic_item){ 
  $ret = preg_match_all($reg_tag,$pic_item,$t_pic_name);
  $pic_name = $pos.$t_pic_name[1][0]; 
  $pic_url = $pic_item;
 print($pic_url."\n"); 
 }
 return 0; 
}
  
function main(){ 
/* 待抓取图片的网页地址 */
 $site_name = "/Users/joey/Desktop/long_text_2018-05-17-14-48-48.txt"; 
 $img_url = get_img_url($site_name); 
 $img_url_revised = revise_site($img_url, $site_name); 
 $img_url_unique = array_unique($img_url_revised); //unique array 
 get_pic_file($img_url_unique,"./"); 
} 
  
main(); 
?> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值