当前位置: 首页 > 软件库 > 应用工具 > 网络爬虫 >

spider-utils-for-php

PHP爬虫工具包
授权协议 GPL
开发语言 PHP
所属分类 应用工具、 网络爬虫
软件类型 开源软件
地区 国产
投 递 者 史景铄
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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

  • 网络爬虫(web crawler)又称为网络蜘蛛(web spider)是一段计算机程序,它从互联网上按照一定的逻辑和算法抓取和下载互联网的网页,是搜索引擎的一个重要组成部分。一般的爬虫从一部分start url开始,按照一定的策略开始爬取,爬取到的新的url在放入到爬取队列之中,然后进行新一轮的爬取,直到抓取完毕为止。 我们看一下crawler一般会遇到什么样的问题吧: 抓取的网页量很大 网页更

  • 1、创建Scrapy项目 scapy startproject dongguan2 2.进入项目目录,使用命令genspider创建Spider scrapy genspider xixi "wz.sun0769.com" 3、定义要抓取的数据(处理items.py文件) # -*- coding: utf-8 -*- import scrapy class Dongguan2Item(scra

 相关资料
  • 本文向大家介绍Java 爬虫工具Jsoup详解,包括了Java 爬虫工具Jsoup详解的使用技巧和注意事项,需要的朋友参考一下  Java 爬虫工具Jsoup详解 Jsoup是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。 jsoup 的主要功能如

  • A-Frame通过AFRAME.utils来开放一些工具类实用程序。 AFRAME.utils.coordinates 三维和四维向量类型的处理模块 .isCoordinates (value) 测试一个字符串是否是vec3。 AFRAME.utils.coordinates.isCoordinates('1 2 3')// >> true .parse (value) 把“x y z”字符串解析

  • 本模块提供了一系列有用工具 CustomObjectScope keras.utils.generic_utils.CustomObjectScope() 提供定制类的作用域,在该作用域内全局定制类能够被更改,但在作用域结束后将回到初始状态。 以with声明开头的代码将能够通过名字访问定制类的实例,在with的作用范围,这些定制类的变动将一直持续,在with作用域结束后,全局定制类的实例将回归其

  • [source] CustomObjectScope keras.utils.CustomObjectScope() 提供更改为 _GLOBAL_CUSTOM_OBJECTS 无法转义的范围。 with 语句中的代码将能够通过名称访问自定义对象。 对全局自定义对象的更改会在封闭的 with 语句中持续存在。 在with语句结束时, 全局自定义对象将恢复到 with 语句开始时的状态。 示例 考虑

  • 有的时候,当我们的爬虫程序完成了,并且在本地测试也没有问题,爬取了一段时间之后突然就发现报错无法抓取页面内容了。这个时候,我们很有可能是遇到了网站的反爬虫拦截。 我们知道,网站一方面想要爬虫爬取网站,比如让搜索引擎爬虫去爬取网站的内容,来增加网站的搜索排名。另一方面,由于网站的服务器资源有限,过多的非真实的用户对网站的大量访问,会增加运营成本和服务器负担。 因此,有些网站会设置一些反爬虫的措施。我

  • Spider 是一个MySQL的存储引擎,支持事务处理,无限用户数访问,支持分区和集群。