zoukankan      html  css  js  c++  java
  • 关于PHP 采集类

    伟大的筒子们,我们需要经常采集。
    不知道大家每次采集的时候会不会烦躁,不用八爪鱼,不用PYTHON 是不是感到手无力,看到正则匹配每次匹配不对,一换采集内容就是头疼,重新拼写正则?
    不要说是高手 ,就是老手也会烦躁。
    今天 就在这里我给大家分享一个传说中 你要你会能看懂CSS 就会采集的小插件(科技改版生活,懒人改变世界)。



    那就是PHPQuery ;扯淡扯累了。直接上说明:
    include 'phpQuery.php'; phpQuery::newDocumentFile('http://www.phper.org.cn'); echo pq("title")->text();        // 获取网页标题echo pq("div#header")->html();        // 获取id为header的div的html内容

    上例中第一行引入phpQuery.PHP文件,

    第二行通过newDocumentFile加载一个文件,

    第三行通过pq()函数获取title标签的文本内容,

    第四行获取id为header的div标签所包含的HTML内容。

    主要做了两个动作,即加载文件和读取文件内容。

    二、载入文档(loading documents)

    加载文档主要通过phpQuery::newDocument来进行操作,其作用是使得phpQuery可以在服务器预先读取到指定的文件或文本内容。

    主要的方法包括:

    phpQuery::newDocument($html, $contentType = null)

    phpQuery::newDocumentFile($file, $contentType = null)

    phpQuery::newDocumentHTML($html, $charset = ‘utf-8′)

    phpQuery::newDocumentXHTML($html, $charset = ‘utf-8′)

    phpQuery::newDocumentXML($html, $charset = ‘utf-8′)

    phpQuery::newDocumentPHP($html, $contentType = null)

    phpQuery::newDocumentFileHTML($file, $charset = ‘utf-8′)

    phpQuery::newDocumentFileXHTML($file, $charset = ‘utf-8′)

    phpQuery::newDocumentFileXML($file, $charset = ‘utf-8′)

    phpQuery::newDocumentFilePHP($file, $contentType)


    三、pq()函数用法

    pq()函数的用法是phpQuery的重点,主要分两部分:即选择器和过滤器

    【选择器】

    要了解phpQuery选择器的用法,建议先了解jQuery的语法

    最常用的语法包括有:

    pq('#id'):即以#号开头的ID选择器,用于选择已知ID的容器所包括的内容

    pq('.classname'):即以.开头的class选择器,用于选择class匹配的容器内容

    pq('parent > child'):选择指定层次结构的容器内容,如:pq('.main > p')用于选择class=main容器的所有p标签

    更多的语法请参考jQuery手册

    【过滤器】

    主要包括::first,:last,:not,:even,dd,:eq(index),:gt(index),:lt(index),:header,:animated等

    如:

    pq('p:last'):用于选择最后一个p标签

    pq('tr:even'):用于选择表格中偶然行


    四、phpQuery连贯操作

    pq()函数返回的结果是一个phpQuery对象,可以对返回结果继续进行后续的操作,例如:

    pq('a')->attr('href', 'newVal')->removeClass('className')->html('newHtml')->...

    详情请查阅jQuery相关资料,用法基本一致,只需要注意.与->的区别即可。




    phpQuery-0.9.5.386.zip

    286.95 KB, 下载次数: 7, 下载积分: 积分 -1

  • 相关阅读:
    BZOJ3752 : Hack
    XIV Open Cup named after E.V. Pankratiev. GP of SPb
    XIII Open Cup named after E.V. Pankratiev. GP of Ukraine
    BZOJ2087 : [Poi2010]Sheep
    BZOJ2080 : [Poi2010]Railway
    BZOJ2082 : [Poi2010]Divine divisor
    Moscow Pre-Finals Workshop 2016. National Taiwan U Selection
    XIII Open Cup named after E.V. Pankratiev. GP of Asia and South Caucasus
    XIII Open Cup named after E.V. Pankratiev. GP of Azov Sea
    XIII Open Cup named after E.V. Pankratiev. GP of SPb
  • 原文地址:https://www.cnblogs.com/ghjbk/p/6783135.html
Copyright © 2011-2022 走看看