例子1:

<?phpinclude_once("curl.php");/*这个文件要自己配置好*/header("content-type:text/html;charset=utf8");$pattern_title ="/<title>(.+)<//title>/";//标题匹配$pattern_code = "/<tr><td><p>(.+)<//p><script/";//网页内容匹配$url="http://www.freewl.com/freezcm/2011/0413/3185.html";//根网址$DATA_CONTENT = CurlGet($url); $num=preg_match_all($pattern_title, $DATA_CONTENT, $match_title);for($i=0;$i<$num;$i++){echo strlen($match_title[1][$i])."--".$match_title[1][$i]."<br />";}echo "<hr />";/*$trans = array("  "=>",", "<br />"=>"。");$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]."<br />";  }?>

例子2:

<?php
/*
author: ssh_kobe
date: 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;
}

//通过微秒时间获得唯一ID
function 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 /* author: ssh_kobe date: 20110602 shortage: 如果网页中的图片路径不是绝对路径,就无法抓取 */ set_time_limit(0);//抓取不受时间限制$URL='http://pp.baidu.com/';//任意网址get_pic($URL);function get_pic($pic_url) {//获取图片二进制流$data=CurlGet($pic_url);/*利用正则表达式得到图片链接*/$pattern_src = '/<img.*?/"([^/"]*(jpg|bmp|jpeg|gif)).*?>/';$num = preg_match_all($pattern_src, $data, $match_src);$arr_src=$match_src[1];//获得图片数组get_name($arr_src);echo "<br>finished!!!";return 0; }/*得到图片类型,并将其保存到与该文件同一目录*/ 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; }//通过微秒时间获得唯一ID function 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 抓取网页内容与图片相关推荐

  1. php 抓取页面图片,php 抓取网页内容与图片的方法

    这篇文章主要介绍了关于php 抓取网页内容与图片的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 例子1:<?php include_once("curl.php& ...

  2. ASP.NET 抓取网页内容

    (转)ASP.NET 抓取网页内容 ASP.NET 抓取网页内容-文字 ASP.NET 中抓取网页内容是非常方便的,而其中更是解决了 ASP 中困扰我们的编码问题. 需要三个类:WebRequest. ...

  3. Asp.Net 之 抓取网页内容

    一.获取网页内容--html ASP.NET 中抓取网页内容是非常方便的,而其中更是解决了 ASP 中困扰我们的编码问题. 需要三个类:WebRequest.WebResponse.StreamRea ...

  4. php抓取网页内容,获取网页数据

    php通过simple_html_dom实现抓取网页内容,获取核心网页数据,将网页数据写入本地 xxx.json 文件 其代码实现逻辑: 1. 引入simple_html_dom.php文件 requ ...

  5. java抓取网页内容

    今天做项目时用到java抓取网页内容,本以为很简单的一件事但是还是让我蛋疼了一会,网上资料一大堆但是都是通过url抓取网页内容,但是我要的是读取本地的html页面内容的方法,网上找不到怎么办我瞬间了! ...

  6. php 获得其他网页数据,php抓取网页内容,获取网页数据

    php通过simple_html_dom实现抓取网页内容,获取核心网页数据,将网页数据写入本地 xxx.json 文件 其代码实现逻辑: 1. 引入simple_html_dom.php文件 requ ...

  7. java socket抓取资源_Java 通过 Socket 的形式抓取网页内容

    package com.hmw.net; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IO ...

  8. python beautifulsoup抓取网页内容_利用Python和Beautiful Soup抓取网页内容

    利用Python和Beautiful Soup抓取网页内容 Posted on 2012-08-09 00:08 SamWei 阅读(381) 评论(1) 编辑 收藏 Python 3中提供了url打 ...

  9. python学习-抓取知乎图片

    python学习-抓取知乎图片 #!/bin/usr/env python3__author__ = 'nxz'""" 抓取知乎图片 webdriver Chromedr ...

最新文章

  1. python提供两个对象身份比较操作符什么和什么来测试_python - 第二部分
  2. 怎么将导出的sql文件再次导入到数据库?
  3. react-native多图选择、图片裁剪(支持ad/ios图片个数控制)
  4. mysql 机器复制_MySQL复制在同一台机器上
  5. 【Linux】Another app is currently holding the yum lock; waiting for it to exit...
  6. PBRT的scene.pbrt使用方法
  7. Eclipse 启动提示java虚拟机启动失败,“Failed to create the Java Virtual Machine”-------解决方法
  8. 人应该活成什么样子?该以什么方式活着?
  9. 修改Linux中发送邮件中附件大小的限制
  10. 基于FPGA的火焰识别系统开发——简化版
  11. 2021数据分析师薪资大PK
  12. 2022年应届大学毕业生就业分析报告
  13. 7kbscan御剑版下载及使用
  14. KITTI数据集去除camera生成bag包(kitti2bag)
  15. Mac下转换APFS格式的移动硬盘分区为“Mac OS扩展(日志式)”或其它
  16. Django MVT详细说明(二)视图V
  17. Java操作Access数据库使用方法及案例 及 所需jar包【源码及jar包在最后下载】
  18. WPS Office 2019 11.8.2.10393 专业增强版_注册版
  19. 家具建材行业电商平台解决方案
  20. STC8G1K08A 驱动WS2812 (RGB 内置IC)亲测可行

热门文章

  1. 基于STC89C52单片机实现简易计算器
  2. 如何区分“衬线体字”和“无衬线体字”?Linux Mint中如何安装字体?
  3. 区块链基本概念学习笔记
  4. 【转载】ABAP CDS 函数
  5. ffmpeg 将.m4a音频转换为.wav文件
  6. xshell4 设置自动记录日志
  7. 林业工程抗旱造林技术
  8. 常用软件分享及下载地址
  9. 27英寸显示器多大 长宽多少厘米
  10. 电大计算机统考大纲,电大计算机专科论文大纲模板范文 电大计算机专科论文提纲怎么写...