网页抓取url替换程序Demo

原创 2016年08月30日 15:18:01
define("URL", "http://www.hao123.com");
define("URLI", "http://www.hao123.com/");
//首页
function index(){

    $str = $this->curl(URL);
    $str = $this->url_add(URL,$str);
    $this->url_handle($str);  

}
//url加密
function url_be($arr,$str){

    if($arr){
            foreach($arr[2] as $i){
                $preg_css = "/(css)/is";
                $preg_js = "/(js)/is";
                $preg_png = "/(png)/is";
                $preg_jpg = "/(jpg)/is";
                $preg_gif = "/(gif)/is";

                if( !preg_match($preg_css,$i) and !preg_match($preg_js,$i) and !preg_match($preg_png,$i) 
                    and !preg_match($preg_jpg,$i) and !preg_match($preg_gif,$i) and $i != URLI and $i != '' and $i != URL ){

                        $be = base64_encode($i);
                        $be = str_replace('=','',$be);
                        $str = str_replace($i,site_url().'/index/url_bd/'.$be,$str);
                    }   
            }
            return $str;
    }

}
//url处理
function url_handle($str){

    $preg_s = '/(href=\")(.*?)(\")/is';
    preg_match_all($preg_s,$str,$arr);
    $str = $this->url_be($arr,$str);
    $preg_s = '/(src=\")(.*?)(\")/is';
    preg_match_all($preg_s,$str,$arr);
    echo $this->url_be($arr,$str);

}
//url解密
function url_bd($be){
    if($be){
        $url = base64_decode($be);
        $str = $this->curl($url);
        $str = $this->url_add(URL,$str);
        $this->url_handle($str);
    }
}

//追加主域名
function url_add($url,$str){

    $preg = "/(href=\"\/)(.*?)(\")/is";
    $str = preg_replace($preg,'href="'.$url.'/\\2"',$str);
    $preg = "/(src=\"\/)(.*?)(\")/is";
    $str = preg_replace($preg,'href="'.$url.'/\\2"',$str);
    $preg = "/(href=\")(?!http)(?!javascript)(.*?)(\")/is";
    $str = preg_replace($preg,'href="'.$url.'/\\2"',$str);
    return $str;
}   
//抓取页面
function curl($url){

    $ch = curl_init($url) ;
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //如果把这行注释掉的话,就会直接输出
    $out = curl_exec($ch) ;
    curl_close($ch);
    return $out;

}
版权声明:本文为博主原创文章,未经博主允许不得转载。

网络爬虫(一):抓取网页的含义和URL基本构成

一、网络爬虫的定义   网络爬虫,即Web Spider,是一个很形象的名字。把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛是通过网页的链接地址来寻找网页的。从网站某一...
  • dapeng0802
  • dapeng0802
  • 2015年05月19日 13:09
  • 981

使用Java抓取网页中所有的链接

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...
  • u013510614
  • u013510614
  • 2016年01月08日 10:17
  • 1775

python3抓取网页解码问题!

在网页抓取时,经常遇到网页编码问题,以下是自己总结的干货 一、几篇文章 字符串编码与Python 3编码:http://blog.csdn.net/wangtaoking1/article/det...
  • Pop_Rain
  • Pop_Rain
  • 2017年06月12日 16:22
  • 707

网络爬虫(一):抓取网页的含义和URL基本构成

一、网络爬虫的定义 网络爬虫,即Web Spider,是一个很形象的名字。 把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。 网络蜘蛛是通过网页的链接地址来寻找网页的。 从网...
  • Xw_Classmate
  • Xw_Classmate
  • 2016年07月12日 14:45
  • 2161

网络爬虫、浏览网页和URI和URL

一、网络爬虫的定义 网络爬虫,即Web Spider,是一个很形象的名字。 把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。 网络蜘蛛是通过网页的链接地址来寻找网页的。 从...
  • u010566813
  • u010566813
  • 2015年05月12日 13:48
  • 758

python爬虫解决网页重定向问题

笔者使用python2.7+requests编写爬虫,以下问题针对此情况讨论。 笔者编写的搜索引擎爬虫在爬取页面时遇到了网页被重定向的情况,所谓重定向(Redirect)就是通过各种方法(本文提...
  • yzl_66
  • yzl_66
  • 2017年12月13日 16:34
  • 45

如何抓取访问特定URL的HTTP流的数据包

工作中遇到了一个问题,需要抓取访问特定URL的TCP流的包。这也许不是什么问题,很多人会觉得使用tcpdump抓包,然后用Wireshark来过滤即可,但如果不能那么做呢?如果必须要仅仅抓取特定URL...
  • dog250
  • dog250
  • 2016年06月26日 01:07
  • 8924

通过指定的URL抓取网页内容

所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地 。类似于使用程序模拟IE浏览器的功能,把URL作为HTTP请求的内容发送到服务器 端,然后读取服务器端的响应资源。 ...
  • wszsj
  • wszsj
  • 2015年12月27日 11:12
  • 750

jsoup爬取指定网页的url和图片

import org.apache.commons.io.IOUtils; import org.apache.http.HttpEntity; import org.apache.http.clie...
  • wangdianyong
  • wangdianyong
  • 2016年03月11日 13:54
  • 1104

JS抓取动态页面小程序

var page = require('webpage').create(); system = require('system'); var name = system.args[1]; p...
  • sinat_30665603
  • sinat_30665603
  • 2017年01月22日 17:30
  • 717
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:网页抓取url替换程序Demo
举报原因:
原因补充:

(最多只允许输入30个字)