您好,欢迎访问一九零五行业门户网

php 抓取网页内容与图片的方法

这篇文章主要介绍了关于php 抓取网页内容与图片的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
例子1:
ac2edc09ec36fe132332cb65d7aaf491(.+)69c2ff15addb645349c29fa5996fd30b/;//标题匹配  $pattern_code = /a34de1251f0d9fe1e645927f19a896e8b6c5a531a458a2e790c1fd6421739d1ce388a4556c0f65e1904146cc1a846bee(.+)164e5b534ac230270e015aa6a78ab0350d5ec65b65dab1e9312776afc9e036c9; } echo cdcaaee4c9b94464012808ae8e1b67a4;  /*$trans = array(  =>,, ff9d32c555bb1d9133a29eb4371c1213=>。); $trans_content = strtr($data_content, $trans); echo $trans_content; */ $data_content=preg_replace('//s(?=/s)/', ' ', $data_content);//(?=pattern) 正向预查   $data_content=preg_replace('/[/n/r/t]/', '/r/n', $data_content);//回车换行   $data_content=preg_replace('/ /', ' ', $data_content);  $num=preg_match_all($pattern_code, $data_content, $match_code);  for($i=0;$i
例子2:
<?php/*author: ssh_kobedate: 20110615*/set_time_limit(0);//抓取不受时间限制function get_pic($pic_url) {//获取图片二进制流$data=curlget($pic_url);/*利用正则表达式得到图片链接$pattern_src = '/<img.*?\"([^\"]*(jpg|bmp|jpeg|gif)).*?>/';*/$pattern_src = '/<img.*?src\=\"(.*\.jpg).*?>/';//只匹配jpg格式的图片$num = preg_match_all($pattern_src, $data, $match_src);$arr_src=$match_src[1];//获得图片数组//get_name($arr_src);get_name_2($arr_src);echo 'end!!!<br>';return 0;}function get_pic_2($pic_url, $base_site) {//获取图片二进制流$data=curlget($pic_url);/*利用正则表达式得到图片链接*/$pattern_src = '/<img.*?\"([^\"]*jpg).*?>/';//只匹配jpg格式的图片$num = preg_match_all($pattern_src, $data, $match_src);$arr_src=$match_src[1];//获得图片数组$arr_src=rev_site($arr_src, $base_site);get_name($arr_src);echo 'end!!!<br>';return 0;}/* 将图片相对地址改为绝对地址 */function rev_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_name($pic_arr){ //图片类型$pattern_type = '/(\.(jpg|bmp|jpeg|gif|png))/'; foreach($pic_arr as $pic_item){//循环取出每幅图的地址 $num = preg_match_all($pattern_type,$pic_item,$match_type); $pic_name = get_unique().$match_type[1][0];//改时微秒时间戳命名 //以流的形式保存图片 $write_fd = @fopen($pic_name,"wb"); @fwrite($write_fd, curlget($pic_item)); @fclose($write_fd); echo "ok.."; } return 0;}function get_name_2($pic_arr){ //图片编号和类型$pattern_type = '/.*\/(.*?)$/'; foreach($pic_arr as $pic_item){//循环取出每幅图的地址 $num = preg_match_all($pattern_type,$pic_item,$match_type); //以流的形式保存图片 $write_fd = @fopen($match_type[1][0],"wb"); @fwrite($write_fd, curlget($pic_item)); @fclose($write_fd); echo 'ok..'; } return 0;}//通过微秒时间获得唯一idfunction get_unique(){list($msec, $sec) = explode(" ",microtime());return $sec.intval($msec*1000000);}//抓取网页内容function curlget($url){ $url=str_replace('&amp;','&',$url);$curl = curl_init();curl_setopt($curl, curlopt_url, $url);curl_setopt($curl, curlopt_header, false);//curl_setopt($curl, curlopt_referer,$url);curl_setopt($curl, curlopt_useragent, "mozilla/4.0 (compatible; msie 6.0; seaport/1.2; windows nt 5.1; sv1; infopath.2)");curl_setopt($curl, curlopt_cookiejar, 'cookie.txt');curl_setopt($curl, curlopt_cookiefile, 'cookie.txt');curl_setopt($curl, curlopt_returntransfer, 1);curl_setopt($curl, curlopt_followlocation, 0);$values = curl_exec($curl);curl_close($curl);return $values;}?>
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注!
相关推荐:
php打包zip图片下载的方法
php web请求安全处理
以上就是php 抓取网页内容与图片的方法的详细内容。
其它类似信息

推荐信息