SAE部署Python-讓雲端自動運行Python代碼

以前寫過模擬登陸新浪微博的帖子,然而我並無去爬過微博的數據,以爲有點浪費,因而就想寫一個代碼來發微博。寫完以後以爲若是能自動發微博就行了,可是我又不可能24小時開始(晚上12點後還會斷網),也沒有vps(窮學生狗),找過幾個免費vps未果,而後想到以前用過新浪SAE,就想能不能在上面試試。 
試了一天左右終於讓我試出來了!! 
這裏寫圖片描述 
基本實現了: 
一、定時發送,這裏是定時半小時 
二、離線自動,基於sae,無需開電腦blabla 
可是也有不完美的地方:本地我能夠直接模擬登陸,可是把代碼放到sae上死都不能登陸成功!最後沒辦法,只能本地獲取cookies,而後放到sae上!也不知道cookies的失效時長,若是失效了還須要本地再獲取,再放上去! 
這裏就說說部署的步驟吧!html

  1. 模擬登陸,獲取cookies 
    這個看這篇文章: 
    http://blog.csdn.net/u011659379/article/details/48133911python

    固然也能夠直接利用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這個地址 cookie

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:app

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

url表明運行index.wsgi post

schedule: "*/30 * * * *"表明每30分鐘運行一次。 
更多設置看這裏url

而後把編輯index.wsgi 
主要是把Python代碼放進去.先看一下最簡單的代碼:spa

import sae#!!!

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

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

打開地址就能夠看到: .net

這裏寫圖片描述 
尾部跟着#!!!的都是不可缺乏的!除了這個區別以外,其餘就跟使用IDE編輯腳本是同樣的!能夠隨時打開網址來查看結果,若是代碼出錯,也能看到哪裏出錯了。好比: 
這裏寫圖片描述code

設置完這些之後,sae就會自動運行Python代碼了!這是個人微博截圖,能夠看到結果: 
這裏寫圖片描述

========================================== 
其實我上面講述的還不是很完整,由於有些東西我也不太懂,展開來說會廢話不少,好比SAE的Python有的第三方庫須要本身打包上去。。這裏我沒有去講,由於我會把所有代碼放出來,本身研究去~ 
=========================================== 
若是不是很懂我上面的過程,能夠直接把個人程序導入到你的sae app上面去。 
這裏寫圖片描述

代碼: http://yunpan.cn/cmt3hzkawSukn 訪問密碼 d512

記得修改config.yaml把名字改成你app名字 
而後修改index.wsgi把cookies修改成你的cookies。

the end!! 
ps:其實這不只僅能夠用來自動發微博,挖掘一下你的腦洞,就能夠發現這還能夠用來作爬蟲,免費的sae程序有5G的免費配額,用來儲存數據也夠了~

 

原網址:http://blog.csdn.net/u011659379/article/details/48314317

相關文章
相關標籤/搜索