SAE部署Python-让云端自动运行Python代码

之前写过模拟登录新浪微博的帖子,然而我并没有去爬过微博的数据,觉得有点浪费,于是就想写一个代码来发微博。写完之后觉得如果能自动发微博就好了,但是我又不可能24小时开始(晚上12点后还会断网),也没有vps(穷学生狗),找过几个免费vps未果,然后想到之前用过新浪SAE,就想能不能在上面试试。
试了一天左右终于让我试出来了!!
这里写图片描述
基本实现了:
1、定时发送,这里是定时半小时
2、离线自动,基于sae,无需开电脑blabla
但是也有不完美的地方:本地我可以直接模拟登录,但是把代码放到sae上死都不能登录成功!最后没办法,只能本地获取cookies,然后放到sae上!也不知道cookies的失效时长,如果失效了还需要本地再获取,再放上去!
这里就说说部署的步骤吧!

  1. 模拟登录,获取cookies
    这个看这篇文章:
    http://blog.csdn.net/u011659379/article/details/48133911

    当然也可以直接利用httpfox获得cookies,然后直接使用。使用httpfox获取cookies看这篇文章:
    http://blog.csdn.net/u011659379/article/details/48133121
    由于我无法再sae上模拟登录,于是用的是第二种方法!

  2. 发送微博的代码
posturl='http://weibo.com/aj/mblog/add?_wv=5&__rnd='#+时间戳
headers={'Host':'d.weibo.com',
        'User-Agent':'Mozilla/5.0 (Windows NT 6.1; rv:40.0) Gecko/20100101 Firefox/40.0',
        'Referer':'http://d.weibo.com/?from=signin'}
data={'text':'python test',  #这里就是要发送的内容
       'pic_id':'',  
       'rank':0,  
       'rankid':'',  
       '_surl':'',  
       'hottopicid':'',  
       'location':'home',  
       'module':'stissue',  
       '_t':0}
#通过post的方式发送微博,cookies就是第一步获取的cookies
requests.post(posturl,headers=headers,data=data,cookies=cookies)

这就是一个最简单的发送微博的代码,其中的posturl最后要加的时间戳,是通过get这个地址
weibo&callback=sinaSSOController.preloginCallBack&su=&rsakt=mod&client=ssologin.js(v1.4.18)
获得的servertime。不了解的可以看我模拟登录微博的文章。
3. 部署sae
sae地址:http://sae.sina.com.cn/
使用微博账号登录。登录以后,创建新应用
这里写图片描述
这里写图片描述
创建好之后,点击应用名字进行管理应用。
这里写图片描述
然后是“代码管理”
这里写图片描述
选择SVN
这里写图片描述
创建版本
这里写图片描述
然后是“编辑代码”
这里写图片描述
先编辑config.yaml:

name: testweibo111
version: 1
cron:
- description: cron_test
  url: /index.wsgi
  schedule: "*/30 * * * *"

url代表运行index.wsgi
schedule: "*/30 * * * *"代表每30分钟运行一次。
更多设置看这里

然后把编辑index.wsgi
主要是把Python代码放进去.先看一下最简单的代码:

import sae#!!!

def application(environ, start_response):#!!!
    start_response('200 ok', [('content-type', 'text/plain')])#!!!
    return ['Hello, SAE!']

application=sae.create_wsgi_app(app)#!!!

打开地址就可以看到:
这里写图片描述
尾部跟着#!!!的都是不可缺少的!除了这个区别之外,其他就跟使用IDE编辑脚本是一样的!可以随时打开网址来查看结果,如果代码出错,也能看到哪里出错了。比如:
这里写图片描述

设置完这些以后,sae就会自动运行Python代码了!这是我的微博截图,可以看到结果:
这里写图片描述

==========================================
其实我上面讲述的还不是很完整,因为有些东西我也不太懂,展开来讲会废话很多,比如SAE的Python有的第三方库需要自己打包上去。。这里我没有去讲,因为我会把全部代码放出来,自己研究去~
===========================================
如果不是很懂我上面的过程,可以直接把我的程序导入到你的sae app上面去。
这里写图片描述

代码: http://yunpan.cn/cmt3hzkawSukn 访问密码 d512

记得修改config.yaml把名字改为你app名字
然后修改index.wsgi把cookies修改为你的cookies。

the end!!
ps:其实这不仅仅可以用来自动发微博,挖掘一下你的脑洞,就可以发现这还可以用来做爬虫,免费的sae程序有5G的免费配额,用来储存数据也够了~

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值