WPer 采集器APIUSAGE 392

WPer采集器API,是一款简单易用的网页数据采集API接口,免费网页爬虫。适合有一定动手能力的WordPress开发者操作。

参数说明

采集地址:url=https://wper.net/wordpress-functions
分页参数:page=/page/
总采集页数:max_page=1 ( 普通用户<=3 )
跳过页数:offset=0
提交分类ID:update_cat=0 ( 本站专用 )
采集列表class:link_class=.excerpt>a ( 支持jq选择器 id的 # 用url编码 %23 )
采集列表a链接前缀:link_before=0
文章内容class:content_class=div.content-entry ( 支持jq选择器 id的 # 用url编码 %23 )
文章内容过滤:filter=0 ( 支持jq选择器,过滤多个用英文逗号“,”分隔 id的 # 用url编码 %23 )
返回数据类型:type=html ( 支持json 和 html )
编码转换:charset=0 ( iconv编码转换,GBK转UTF-8 例:GBK,UTF-8 )
测试:test=1 ( 1返回一篇采集content的html(用于核对content是否正确),0返回采集列表(检测是否正常采集) )
注:
普通用户:json 返回3页<=10篇,html测试返回3页<=30篇;vip用户不做限制,请页脚联系管理员

采集测试

获取

使用教程:

    <?php
    
    // WPer采集器数据的读取,把链接最后面的html改成json就可以,例子如下:
    $re_t = 'https://wper.net/wper-collector/?url=https://wper.net/wordpress-functions&page=/page/&max_page=1&offset=0&update_cat=1&link_class=.title-entry>a&content_class=div.content-entry&filter=0&type=json';
    $re_t =file_get_contents($re_t);
    $re_t =json_decode($re_t,true);
    
    // $re_t['status'] 状态,200=>成功,500=>失败
    // $re_t['message'] 状态信息,成功/报错
    // $re_t['posts'] 文章数组
    // $re_t['posts_number'] 文章总数
    
    if($re_t['status'] == '200'){
        foreach ($re_t['posts'] as $p){
            echo $p['title'];
            //echo $p['content'];
            // 这里就可以做下面的标题重复判断、翻译和提交到自己的网站
        }
    }
    
    // 有道翻译api
    // 有次数限制,自己去申请接口,WPer采集器就不添加翻译功能了
    
    $re_t = 'http://fanyi.youdao.com/translate?&doctype=json&type=auto&i=i love you.';
    $re_t =file_get_contents($re_t);
    $re_t =json_decode($re_t,true);
    print_r($re_t['translateResult'][0][0]['tgt']);
    // 我爱你。
    
    // 关于文章标题重复判断,可以把下面的提交放在判断不重复再提交
    $results = get_page_by_title($title, OBJECT, 'post');
    if($results)echo '重复';else echo '成功';
    
    // 关于提交文章
    $postarr = array(
        //'ID'=> $results->ID, // 可以做更新重复
    	'post_title'    => wp_strip_all_tags( $title ),// 格式标题
    	'post_content'  => $content,
    	'post_status'   => 'publish',
    	'post_author'   => 1,
    	'post_category' => array( $update_cat )
    );
    $pid = wp_insert_post( $postarr );
    if($pid)echo '成功';else echo '失败';
    
    // 其他采集常用正则过滤,懂的就懂
    $content = preg_replace('/<a href=[\",\'](.*?)[\",\']>(.*?)<\/a>/', "\\2", $content); //过滤a标签
    $content = preg_replace('/<script.*?<\/script>/','', $content); // 过滤js
    $content = preg_replace('/<script[\S\s]*?<\/script>/','', $content); // 过滤js
    $content = preg_replace('/<div class=\"ad.*?<\/div>/','', $content); // 过滤广告等
    $content = preg_replace('/<div class=\"ad[\S\s]*?<\/div>/','', $content); // 过滤广告等
    
    ?>