俗話說得好用代碼做網頁,擇良辰吉日而行,其事必成。選擇良辰吉日做事情,是為了借天時順勢而為,少走彎路。選擇一個良辰吉日總是寓意著好的彩頭。
最近菜鳥哥的一個好哥們,單身多年,馬上國慶了,家里給他安排了很多場相親,找我咨詢有啥良辰吉日適合相親。作為一個過來人,很客觀講著沒有啥用決定性作用,但是起碼能給自己的心理上帶來一些鼓勵。
經不住老友的請求,作為一名資深的程序員,自然免不了想利用來秀一把手藝。嘗試做一個電子版的良辰吉日查閱神器,不用手動翻閱,即可輕松查閱信息。這樣好玩又鍛煉編程能力的小程序。于是菜鳥哥,發揮了碼農本色用代碼做網頁,花了1個小時搞定,分享給大家呢?快來一起看看吧。
01.程序整體架構介紹
對于黃歷查詢程序,菜鳥哥精心為大家準備了兩種方式:
分別是靜態網頁分析法和利用免費接口進行調用查詢的方法。下面我們依次介紹這兩種方法。
02.靜態網頁分析對于靜態網頁的分析方法,首先需要明確我們程序所要抓取的網頁。本次程序抓取的在線網頁為“便民查詢網”傳送門:打開網頁后,會顯示如下圖當中的萬年歷查詢信息。從界面中可以看到,當日的宜忌事項都顯示在界面的右側。而只需要在界面中點擊當月的任意一天,對應的宜忌事項都會顯示在界面的右側。
接下來,通過點擊鼠標的右鍵,然后點擊“查看網頁源代碼”,就可以看到網頁的源代碼信息。
所謂的靜態網頁,是相對于動態網頁而言,靜態網頁沒有后臺的數據庫,也無法進行交互。所以靜態網頁中往往就包含了界面中所展示的數據內容。我們可以通過對于源代碼的分析,找到我們需要的數據。
明確網頁屬于靜態網頁后,接下來就可以通過程序來抓取網頁源代碼,并且進行分析,提取出當月的每一天的宜忌事宜。也許有的小伙伴會問,為什么只能提取當月的呢?這是因為網頁的源代碼里就是這樣處理的,僅包含了當月中每一天的宜忌事項。所以這是第一種方法的局限性。待會跟大家介紹的第二種方法,就會擺脫這種局限性。我們言歸正傳,接下來,我們通過程序來分析網頁源代碼。
上述的程序中,通過庫來獲取網頁的源代碼后,通過庫來解析網頁源代碼,并獲取當月的每一天的宜忌事項。保存到self.data的字典中。
獲取到數據,可以讓用戶來輸入想要查詢的年月日。
最后,將用戶輸入的年月日與抓取到的數據進行匹配,然后輸出對應日期的宜忌事項,程序如下圖所示:
03.視頻展示我們用視頻展示一下,菜鳥哥為大家準備了視頻的演示,來展示程序運行的效果。
04. 高級接口調用
對于第一種老黃歷的查詢方式,菜鳥哥提到了一個局限,那就是只能查詢當月的某一天的黃歷,那如果大家想要查詢任意一天的黃歷,應該怎么辦呢?別著急,菜鳥哥為大家想好了辦法。
第二種方式就是采用”聚合數據“的接口。
傳送門:
對于黃歷數據的獲取,聚合數據為用戶提供了100次/天的優惠,大家可以每天免費通過接口查詢100次。對于普通的用戶來說,這樣的使用次數絕對是綽綽有余。大家可以直接到聚合數據,進行注冊,然后開通”老黃歷“的使用權限,并且獲取到專屬額key值。
聚合數據同樣為大家提供了詳細的接口調用的程序,同第一種方法類似,對于接口的調用同樣也需要用戶來輸入具體的日期信息。
下圖所示的程序中,展示的是如何進行接口的調用。
這里需要注意的是,利用聚合數據的接口,可以不用受到時間的束縛,大家可以輸入任意的時間,獲取當天的宜忌事項。例如我們輸入2022年2月23日,接口就可以返回2022年2月23日的黃歷信息。如下圖所示。
以上就是菜鳥哥今天為大家帶來的小程序的內容分享,大家可以根據上述的程序,進行編寫和改編,在尋求良辰吉日的同時也鍛煉了自己的編程能力
最后還是要說一下,相親要注意以下幾點:好啦,馬上國慶了,單身的碼農估計有很多也要安排相親的,如果有需要我可以寫一篇相親那點事攻略,留言區超過20條的,我就安排。