主題

【Web + Github Page + Python爬蟲】免費Host一個自己的網頁,順便寫個網頁紓壓

%%鼠 | 2021-02-15 02:35:34 | 巴幣 122 | 人氣 683

上篇簡單說過使用github page來免費Host網站,缺點是不能使用PHP等後端腳本。

因為一些"生活煩惱"所以覺得寫個網頁散散心,但我懶的想要用什麼內容衝版面,於是想到用爬蟲來抓自己巴哈小屋的創作好了。


先上成品頁面:https://lontoone.github.io/

來個頁面截圖,大部分人看到的應該是中文的網站,自動偵測語系的作法下面來講。


先講爬蟲,我是看這個影片學分析。

正常用ajax也能抓回網頁html,但巴哈有做些措施,不知道為甚麼ajax的要求都會卡在header資訊,明明帶的跟python腳本帶的是一樣的。
anyway,我就用python爬我的小屋創作並輸出成json文字檔push上git,用戶打開網頁時由js去解析並輸出。 因為github page不能跑後端程式,所以我可能偶爾執行一下爬蟲並push 結果上去或直接寫個腳本在我開機時自動git一次吧。

先抓我小屋創作總頁數

用regex抓的頁面元素





主要爬蟲:

38-40行: 巴哈有擋header沒設定user-agent的訪問,所以在訪問時加上資訊騙一下。
69-99行: 註解的是原本用regex抓資料的做法,後來發現beautifulsoup能直接找網頁元素比較好用。
104行: json.dump將dict型態的資料轉型成json格式並輸出。  

python不能像C#在類別前面加個[system.serializable]就能自動序列化,所以在自訂類別加了個轉成dict的方法好搭配json.dump。 (有些參數暫時沒用到。)


結果(部分截圖):

文字檔大概格式是:



多語系:
其實也沒多厲害,就是準備不同語言的文字檔,靠js偵測用戶瀏覽器語言後選擇要讀取哪個文字檔。

html只要呼叫方法讀檔。
讀取表格的作法上篇有用到,這個只要簡單讀文字檔就好。


以上,目前先做HOME和BLOG這兩頁,剩下的接著再看看吧!

雜紀:
所謂"生活煩惱",有空來談談ㄅXD

送禮物贊助創作者 !
0
留言

創作回應

御安鴨鴨
大佬
2021-02-15 13:50:07
%%鼠
不佬不佬,邊做邊學而已XD
2021-02-15 17:40:56
悠閒紅茶(冷卻中)
我像是看到了銀河系
2021-02-15 19:40:49
%%鼠
web應用只會基本而已啦XD
2021-02-15 20:24:49
追蹤 創作集

作者相關創作

更多創作