This article mainly introduces the method of crawling web content and images with PHP. It has certain reference value. Now I share it with you. Friends in need can refer to it.
Example 1:
(.+)/title>/";//标题匹配 $pattern_code = "/(.+)/p>"; } echo "
"; /*$trans = array(" "=>",", "
"=>"。"); $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<$num;$i++){ echo $match_code[1][$i]."
"; } ?>Copy after loginExample 2:
/';*/ $pattern_src = '//';//只匹配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!!!
'; return 0; } function get_pic_2($pic_url, $base_site) { //获取图片二进制流 $data=CurlGet($pic_url); /*利用正则表达式得到图片链接*/ $pattern_src = '//';//只匹配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!!!
'; 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; } //通过微秒时间获得唯一ID function get_unique(){ list($msec, $sec) = explode(" ",microtime()); return $sec.intval($msec*1000000); } //抓取网页内容 function CurlGet($url){ $url=str_replace('&','&',$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; } ?>Copy after loginThe above is the entire content of this article. I hope it will be helpful to everyone’s learning. For more related content, please pay attention to the PHP Chinese website!
Related recommendations:
How to package zip image downloads in php
php web request security processing
The above is the detailed content of How to crawl web content and images in php. For more information, please follow other related articles on the PHP Chinese website!
Previous article:How to package zip image download in php Next article:PHP import progress bar classStatement of this WebsiteThe content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cnLatest Articles by Author
2019-04-16 16:04:28 2020-09-15 11:26:00 2020-09-10 14:26:14 2020-09-08 11:06:15 2020-09-09 09:46:36 2020-10-12 14:51:04 2020-09-10 14:40:02 2019-04-24 16:20:55 2020-10-13 11:40:03 2019-04-15 14:06:21Latest IssuesPHP trim unicode spaces I'm trying to trim unicode spaces such as this character and I was able to do it using thi...From 2023-11-13 08:49:4502398Related TopicsMore>Popular RecommendationsPopular TutorialsMore>
JAVA Beginner's Video Tutorial2377744 Latest DownloadsMore>
- About us Disclaimer Sitemap
- php.cn:Public welfare online PHP training,Help PHP learners grow quickly!