首页 > php教程 > PHP源码 > 正文

段子搬运工

PHP中文网
发布: 2016-05-26 08:19:04
原创
1919人浏览过

作为开源中国首席段子手,必然有发布段子的特殊技巧

段子搬运工

从煎蛋获取最新的段子后,登录osc并发表动弹。并不需要数据库的支持。

配置项

joke.txt以及cookie.txt文件需要777权限

需要知道您在osc的加密后的密码和user_id和user_code

再配合 crontab */5 * * * * /usr/bin/curl http://jokeporter.fans7.me/jokeporter.php

每5分钟检测一次是否有新段子发布

github:https://github.com/wangkugou1983/jokeporter

下一个计划 “开源中国点赞狂魔”

<?php
//段子搬运工
class JokePorter{
    public function index(){
        $this->get_joke(); //获得段子
    }
    //获得段子
    private function get_joke(){
        $html = file_get_contents('http://jandan.net/duan',NULL,NULL,-1,10000);
        preg_match_all('/<p>[\s\S]*?<\/p>/',$html,$res);
        $joke = strip_tags($res[0][2]); //得到段子
        $file = file_get_contents('./Joke.txt'); //本地段子
        $joke != $file ? $this->stash_joke($joke) : ''; //如果段子比本地新,储存段子在本地
    }
    //储存段子
    private function stash_joke($joke){
        $handle = fopen('./Joke.txt',"w");
        fwrite($handle,$joke);
        fclose($handle);
        $this->login_osc(); //登录OSC
    }
    //登录OSC
    private function login_osc(){
        //登录
        $post = array('email' => '你的OSC邮箱账号','pwd' => '加密后的密码','save_login' => '1');
        $curl = curl_init(); //初始化curl模块
        curl_setopt($curl,CURLOPT_URL,'https://www.oschina.net/action/user/hash_login'); //登录提交的地址
        curl_setopt($curl,CURLOPT_HEADER,0); //是否显示头信息
        curl_setopt($curl,CURLOPT_RETURNTRANSFER,0);
        curl_setopt($curl,CURLOPT_COOKIEJAR,'./cookie.txt'); //设置cookie信息保存在指定的文件中
        curl_setopt($curl,CURLOPT_POST,1); //post方式提交
        curl_setopt($curl,CURLOPT_POSTFIELDS,http_build_query($post)); //要提交的信息
        $res = curl_exec($curl); //执行cURL
        $res ? $this->push_joke($curl) : curl_close($curl);
    }
    //发布段子
    private function push_joke($curl){
        $file = file_get_contents('./Joke.txt'); //本地段子
        $send = array('msg' => $file,'user' => '你的user_id','user_code' => '你的user_code');
        curl_setopt($curl,CURLOPT_URL,'https://www.oschina.net/action/tweet/pub');
        curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); //curl_exec将结果返回,而不是执行
        curl_setopt($curl,CURLOPT_POST,1); //post方式提交
        curl_setopt($curl,CURLOPT_POSTFIELDS,http_build_query($send)); //要提交的信息
        curl_exec($curl); //执行cURL
        curl_close($curl);
    }
}
$JokePorter = new JokePorter();
$JokePorter->index();
登录后复制

以上就是段子搬运工的内容,更多相关内容请关注PHP中文网(www.php.cn)!

magento(麦进斗)
magento(麦进斗)

Magento是一套专业开源的PHP电子商务系统。Magento设计得非常灵活,具有模块化架构体系和丰富的功能。易于与第三方应用系统无缝集成。Magento开源网店系统的特点主要分以下几大类,网站管理促销和工具国际化支持SEO搜索引擎优化结账方式运输快递支付方式客户服务用户帐户目录管理目录浏览产品展示分析和报表Magento 1.6 主要包含以下新特性:•持久性购物 - 为不同的

magento(麦进斗) 0
查看详情 magento(麦进斗)
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号