1. 程式人生 > >神級python程式設計師只需要一個公眾號,再也不會錯過重要資訊

神級python程式設計師只需要一個公眾號,再也不會錯過重要資訊

Python(發音:英[?pa?θ?n],美[?pa?θɑ:n]),是一種面向物件、直譯式電腦程式語言,也是一種功能強大的通用型語言,已經具有近二十年的發展歷史,成熟且穩定。它包含了一組完善而且容易理解的標準庫,能夠輕鬆完成很多常見的任務。它的語法非常簡捷和清晰,與其它大多數程式設計語言不一樣,它使用縮排來定義語句。

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