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

來源:互聯網
上載者:User

之前寫過類比登入新浪微博的文章,然而我並沒有去爬過微博的資料,覺得有點浪費,於是就想寫一個代碼來發微博。寫完之後覺得如果能自動發微博就好了,但是我又不可能24小時開始(晚上12點後還會斷網),也沒有vps(窮學生狗),找過幾個免費vps未果,然後想到之前用過新浪SAE,就想能不能在上面試試。
試了一天左右終於讓我試出來了。。

基本實現了:
1、定時發送,這裡是定時半小時
2、離線自動,基於sae,無需開電腦blabla
但是也有不完美的地方:本地我可以直接類比登入,但是把代碼放到sae上死都不能登入成功。最後沒辦法,只能本地擷取cookies,然後放到sae上。也不知道cookies的失效時間長度,如果失效了還需要本地再擷取,再放上去。
這裡就說說部署的步驟吧。

類比登入,擷取cookies
這個看這篇文章:
http://blog.csdn.net/u011659379/article/details/48133911。

當然也可以直接利用httpfox獲得cookies,然後直接使用。使用httpfox擷取cookies看這篇文章:
http://blog.csdn.net/u011659379/article/details/48133121
由於我無法再sae上類比登入,於是用的是第二種方法。 發送微博的代碼

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就是第一步擷取的cookiesrequests.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: testweibo111version: 1cron:- 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的免費配額,用來儲存資料也夠了~

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.