V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
wuling
V2EX  ›  分享创造

自己写的 qq 空间自动点赞代码

  •  
  •   wuling · 2014-10-31 15:50:58 +08:00 · 5749 次点击
    这是一个创建于 3709 天前的主题,其中的信息可能已经有所发展或是发生改变。
    无聊时写着玩的,放在openshift服务器上,每条说说一出来基本是秒赞了,手机qq动态页再也没有小红点了
    玩几天记得关掉,如果各位不想被好友骂的话........

    https://github.com/chenrenyi/qzone-autolike
    16 条回复    2014-11-06 13:08:16 +08:00
    welsmann
        1
    welsmann  
       2014-10-31 17:28:08 +08:00
    同一个IP刷这么频繁确定不会被封?
    wuling
        2
    wuling  
    OP
       2014-11-01 03:12:37 +08:00
    @welsmann 5秒钟一次的,不会被封。估计3Gqq没有考虑那么多吧,光仅用链接保存登录信息就已经够bug级别的了
    88250
        3
    88250  
       2014-11-01 20:18:15 +08:00
    希望你的 QZone 能火
    moonfly
        4
    moonfly  
       2014-11-01 23:59:55 +08:00
    腾讯好像已经在页面上加了跳转,直接用url获取不到页面内容,返回的是跳转提示页代码!
    wuling
        5
    wuling  
    OP
       2014-11-02 10:06:18 +08:00 via Android
    @moonfly 需要把代码里的url改成自己登录3g空间后的url
    moonfly
        6
    moonfly  
       2014-11-02 11:51:40 +08:00
    @wuling 昨天是我没找到真正的3G版空间地址;手机浏览器直接进的是触屏版,加了js跳转!后来改成真正3G版的了,成功抓到了空间页面源码;

    你源码中的那个pattern有问题,preg_match_all($pattern, $content, $matchs);只能抓到$matchs[0],抓不到$matchs[1] 老是报数组下标越界;
    昨天调试了一晚上,也没想出来怎么从多个连续的url中取出 "赞\(\d+\)" 前面的那个url,

    本人php新手!轻拍!
    scola
        7
    scola  
       2014-11-02 19:32:51 +08:00
    不用登录么?
    wuling
        8
    wuling  
    OP
       2014-11-02 23:49:37 +08:00 via Android
    @scola 登录状态记录在url里,所以只需要登录一次,将url复制下来放到代码里即可。登录时效是一个月,一个月后需要手动更新url
    xunxun
        9
    xunxun  
       2014-11-03 00:13:24 +08:00
    好东西。。。
    moonfly
        10
    moonfly  
       2014-11-03 12:31:48 +08:00
    @wuling 问题已经解决,已经成功用上了,感谢您提供的思路;
    目前挂了一天一夜没发现任何问题;
    可能是3G空间的点赞链接源代码区块格式变了,调整了一下 $pattern 的正则匹配,就成功跑起来了!
    $pattern = '{<a href="(http:\/\/blog\d+\.z\.qq\.com\/like\/like_action\.jsp.*?)">赞\(\d+\)}';

    另外我还增加了一些状态判断,比如登陆是否成功,认证是否过期,点赞失败服务器返回的具体原因等!
    time: 2014-11-03 09:34:27 count: 1 有新的动态  点赞成功
    time: 2014-11-03 09:34:39 count: 0
    time: 2014-11-03 09:34:50 count: 0
    time: 2014-11-03 09:35:00 count: 0
    time: 2014-11-03 09:35:16 count: 1 服务器繁忙....稍后再试
    time: 2014-11-03 09:35:32 count: 1 有新的动态  点赞成功
    time: 2014-11-03 09:35:43 count: 0
    wuling
        11
    wuling  
    OP
       2014-11-03 17:08:56 +08:00
    @moonfly 可能是后来测试的时候我的代码改了下,记得一开始pattern是对的,没有现在这么短。另外pattern应该可以短点,比如{href="([^"]*?)">赞\(\d+\)} (随手写的,不保证对)
    skpoo
        12
    skpoo  
       2014-11-03 17:42:14 +08:00
    @wuling 能提交到 GitHub 上吗?
    xiaoxiaoniao
        13
    xiaoxiaoniao  
       2014-11-05 13:51:35 +08:00
    @wuling 这个怎么用呀?
    wuling
        14
    wuling  
    OP
       2014-11-05 20:14:00 +08:00
    @xiaoxiaoniao 首先登录3g qq空间,记下url,把代码里的那个url换成自己的,再运行php代码就可以了。不过现在没有台旧手机的话,进3g qq空间会自动跳转成触屏版的空间,需要想下办法
    muziyue
        15
    muziyue  
       2014-11-06 09:51:18 +08:00
    @wuling 改UA可不可以?
    wuling
        16
    wuling  
    OP
       2014-11-06 13:08:16 +08:00
    @muziyue 以前可以,现在好像有点问题了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1055 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:09 · PVG 04:09 · LAX 12:09 · JFK 15:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.