神級python程序員只需要一個公眾號,再也不會錯過重要資訊
Python支持命令式程序設計、面向對象程序設計、函數式編程、面向切面編程、泛型編程多種編程範式。與Scheme、Ruby、Perl、Tcl等動態語言一樣,Python具備垃圾回收功能,能夠自動管理存儲器使用。它經常被當作腳本語言用於處理系統管理任務和網絡程序編寫,然而它也非常適合完成各種高級任務。Python虛擬機本身幾乎可以在所有的作業系統中運行。使用一些諸如py2exe、PyPy、PyInstaller之類的工具可以將Python源代碼轉換成可以脫離Python解釋器運行的程序。
此次實戰項目清單:
WeRoBot框架開發自動回復微信機器人
Tornado開發後臺
MongoDB做數據存貯
Scrapyd部署爬蟲
Scrapy編寫爬蟲
把這些都部署在阿裏雲服務器上
用Python編寫
把這些東西混在一起,就實現了,通過微信公眾號來獲取每日新鮮資訊的功能
廢話不多說,先上圖,看效果!
網頁醜,請原諒我,我不是專門寫前端的,前端知識我會日後補上的。為什麽選擇電腦端訪問,因為手機上訪問可能還是有些限制,但是電腦端訪問完全沒有問題啊!這效果贊不贊?牛不牛?
開發思路
既然看到了效果,那麽我們現在就來扯一扯實現這個過程的來龍去脈。
首先,我們白日做夢一下, 想著我怎麽能夠通過微信公眾號來訪問網站啊?
這裏給出答案:我們需要一個微信自動回復的機器人,因為這樣,我就不需要每天自己登陸網頁端,復制黏貼編寫材料了,用電腦來代替我的勞動,這樣我多輕松。
這裏就是WeRoBot的使用場景。
接下來,我們如果有了自動回復機器人,那麽我們拿什麽來看呢?
這裏給出答案:我們需要在遠端架設一臺服務器,上面需要跑起來一套網站的服務。給我們提供一個網頁,裏面有我們想要的資訊信息。
這就是阿裏雲服務器(騰訊的也可以)和Tornado的使用場景。
接著,我們還得研究,我網頁上的數據,從哪裏來啊??
這裏給我出答案:網頁端讀取的數據,都應該是從數據庫中讀的。
這裏就是MongoDB的使用場景。
知道數據從哪裏讀取的了,那麽數據是從哪裏來的啊?
這裏給出答案:數據是來源,我們可以通過爬蟲程序來爬下來。
這裏就是Scray的使用場景了。
想到這裏基本差不多了,中間在加一些粘合劑,我們可以通過Scrapyd來把爬蟲部署到遠端服務器上,再通過一個定時裝置來定時執行爬蟲程序。這樣我們就會有源源不斷的數據更新了。而網頁端,我們只需要展示當天的數據就可以了。這麽下來,
一切都思路都很完美,就差一個程序員了,對嗎?
我們選擇用Python來搞事情,因為這個東西,很適合搞事情。
我們既然把整個邏輯都想好了,那麽我們倒著來擼這件事情。
接下來,我們用到了MongoDB
那麽前面提到的這幾個東西,就剩下WeRoBot和Tornado了。這個我準備在下一期文章中詳細給大家講解怎麽開發。這裏面的坑其實還不少,但是,我已經給大家踩過了。大家跟著我的步驟一步一步來就完全OK。
整體回顧
遠端的服務器上面的爬蟲,是Scrapy寫的蟲子。
通過Tornado的定時執行功能,會每一個小時執行一次。
將爬下來的數據存入到MongoDB中。
Tornado的路徑對於的GET方法,會從MongoDB中讀取數據,並傳入到已經寫好的html模板中。
WeRoBot則是依靠Tornado部署的,嵌入到了Tornado服務中。通過微信傳過來的特定的指令,來做出返回結果並返回給客戶端。
Python可以做什麽?
web開發和 爬蟲是比較適合 零基礎的
自動化運維 運維開發 和 自動化測試 是適合 已經在做運維和測試的人員
大數據 數據分析 這方面 是很需要專業的 專業性相對而言比較強
科學計算 一般都是科研人員 在用
機器學習 和 人工智能 首先 學歷 要求高 其次 高數要求高 難度很大
我有一個微信公眾號,經常會分享一些python技術相關的幹貨;如果你喜歡我的分享,可以用微信搜索“python語言學習”關註
歡迎大家加入千人交流答疑裙:699+749+852
神級python程序員只需要一個公眾號,再也不會錯過重要資訊