PHP爬虫工具包 spider-utils-for-php

GPL
PHP
跨平台
2015-03-28
deajunny

spider-utils-for-php:

原则:

简单、易用、灵活、任性任性任性就是任性!

特色:

  • php 界内最简单易用的 http-utils,自动识别支持 curl、socket、file_get_contents 三种方式。

  • http 请求支持 gzip,加速请求,节约请求成本。

  • 跟踪 301、302 跳转(可设置最大跳转数量)。

  • 支持统一转码为 utf-8,不再需要关心页面是否是 gbk、big5、utf8 等编码。

  • 字符串支持通配符、正则表达式、DOM表达式三种方式匹配。

  • url支持匹配后自动相对路径转绝对路径。

  • ToBe Continue.

什么?转换相对路径到绝对路径

    // $result = http://baidu.com/bac/index.html
    $result = spider::abs_url('http://baidu.com/abc/', '../bac/index.html');

什么?html2txt?

 // $result = 123  $result = spider::html2txt('<p><a href="">1</a>23<p>');

什么?字符串截取?

    // $result = 23abcde
    $result = spider::cut_str('123abcdef', '1', 'f');

什么?通配符匹配?

    // $result = abc
    $result = spider::mask_match('123abc123', '123(*)123');
    // $result = abc
    $result = spider::mask_match('abc123', '(*)123');
    // $result = 123 $result = spider::mask_match('123abcabc', '(*)abc');
    // $result = 123abc
    $result = spider::mask_match('123abcdef', '(*)abc', true);

What?发送http GET请求?

    // 自动转码 utf-8, 
    $result =  spider::fetch_url('http://www.baidu.com/');

What?发送http POST请求?

    $post = "wd=".urlencode("你的网址"); 
    // 数组也一样
    // $post = array("wd" => urlencode("你的网址"));
    $result = spider::fetch_url('http://www.baidu.com/s?',$post);

What?POST File?

    $post = array("wd" => "http://", "file" => "@c:/1.txt");
    $result = spider::fetch_url('http://www.baidu.com/s?',$post);

What?要带 UserAgent 和 Cookie?

// 一切 headers 都可以传入 
$headers = array( 'Cookie' => 'uid=1; my_name_is=mzphp', 'UserAgent' => 'userAgentForIphone', 'Referer' => 'http://baidu.com/',
    ); 
$result = spider::fetch_url('http://www.baidu.com/s?', $post, $headers);

What?这些操作如何漂亮的“在一起”?

   // 首先你需要一个女朋友
    $key = "魔爪小说阅读器";
    $url = 'http://www.sogou.com/web?query='.urlencode($key).'&ie=utf8';
    $html = spider::fetch_url($url, '', array('Referer'=>'http://www.sogou.com/'));
    // 对你的女朋友进行分析
    $keywordlist = spider::match($html, array('list'=>array(
        'cut' => '相关搜索</caption>(*)</tr></table>',
        'pattern' => '#id="sogou_\d+_\d+">(?<key>[^>]*?)</a>#is',
    )));
    //
    $newarr = array();
    foreach($keywordlist['list'] as $key=>$val){
        $newarr[$val['key']] = array('key'=>$val['key']);
    }

More?

好吧,你可以参考一下 mzphp2 项目中的 start_example 里的index_control,on_spider 方法:

http://git.oschina.net/mz/mzphp2/blob/master/start_example/control/index_control.class.php

的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

scrapy 自定义command

scrapy 自定义command

2016/01/12 17:27
87
1
转 :php 网站挂马检查

php后门木马常用的函数大致上可分为四种类型: 1. 执行系统命令: system, passthru, shell_exec, exec, popen, proc_open 2. 代码执行与加密: eval, assert, call_user_func,base64_decode,...

2016/04/01 15:14
58
1
一句话查找PHP木马

一句话查找PHP木马 # find ./ -name "*.php" |xargs egrep "phpspy|c99sh|milw0rm|eval(gunerpress|eval(base64_decoolcode|spider_bc))" > /tmp/php.txt # grep -r --include=*.php '[^a-z...

2013/09/24 17:17
79
0
zephir初试

zephir初试

2014/09/19 11:04
141
0
广西互联网金融平台系列-Scrapy结合Selenium爬虫爬取宝筹贷数据

### 一、背景 在平常爬取过程中会遇到很多结构不同和渲染方式不同的网站,比如这次的宝筹贷,它的列表页渲染方式和详情页的渲染方式是不一致的,详情页和投资记录的数据渲染方式则一致。遇到...

2018/01/11 16:24
28
0
zephir-(3)你的第一个PHP拓展

在之前的介绍中大家不仅了解了zephir具体是一个什么样的语言,也get到了它的安装方式,成功安装到自己的系统上了.今天让我们来一同编写之前我们演示过的一些拓展让我们来一同动起手来尝试一下....

2016/03/02 14:58
476
3
LINUX下的PHP木马查询

sudo du -s * | sort -nr | head 显示前10个占用空间最大的文件或目录 sudo du --max-depth=1 linux查找占空间最大的文件与目录 sudo find / -size +204800 这样可以查找出大于100M的文件,按...

2013/01/04 11:32
303
1

没有更多内容

加载失败,请刷新页面

返回顶部
顶部