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

神級python程序員只需要一個公眾號,再也不會錯過重要資訊

python 爬蟲 web 編程 程序員

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


神級python程序員只需要一個公眾號,再也不會錯過重要資訊