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

來源:互聯網
上載者:User

標籤:targe   開始   imp   ons   server   end   基本   通過   程式   

之前寫過類比登入新浪微博的文章,然而我並沒有去爬過微博的資料,覺得有點浪費,於是就想寫一個代碼來發微博。寫完之後覺得如果能自動發微博就好了,但是我又不可能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就是第一步擷取的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的免費配額,用來儲存資料也夠了~

 

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

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.