上篇簡單說過使用github page來免費(fèi)Host網(wǎng)站,缺點是不能使用PHP等後端腳本。
因為一些"生活煩惱"所以覺得寫個網(wǎng)頁散散心,但我懶的想要用什麼內(nèi)容衝版面,於是想到用爬蟲來抓自己巴哈小屋的創(chuàng)作好了。
來個頁面截圖,大部分人看到的應(yīng)該是中文的網(wǎng)站,自動偵測語系的作法下面來講。
先講爬蟲,我是看這個影片學(xué)分析。
正常用ajax也能抓回網(wǎng)頁html,但巴哈有做些措施,不知道為甚麼ajax的要求都會卡在header資訊,明明帶的跟python腳本帶的是一樣的。
anyway,我就用python爬我的小屋創(chuàng)作並輸出成json文字檔push上git,用戶打開網(wǎng)頁時由js去解析並輸出。 因為github page不能跑後端程式,所以我可能偶爾執(zhí)行一下爬蟲並push 結(jié)果上去或直接寫個腳本在我開機(jī)時自動git一次吧。
先抓我小屋創(chuàng)作總頁數(shù)
用regex抓的頁面元素
主要爬蟲:
38-40行: 巴哈有擋header沒設(shè)定user-agent的訪問,所以在訪問時加上資訊騙一下。
69-99行: 註解的是原本用regex抓資料的做法,後來發(fā)現(xiàn)beautifulsoup能直接找網(wǎng)頁元素比較好用。
104行: json.dump將dict型態(tài)的資料轉(zhuǎn)型成json格式並輸出。
python不能像C#在類別前面加個[system.serializable]就能自動序列化,所以在自訂類別加了個轉(zhuǎn)成dict的方法好搭配json.dump。 (有些參數(shù)暫時沒用到。)
結(jié)果(部分截圖):
文字檔大概格式是:
多語系:
其實也沒多厲害,就是準(zhǔn)備不同語言的文字檔,靠js偵測用戶瀏覽器語言後選擇要讀取哪個文字檔。
html只要呼叫方法讀檔。
讀取表格的作法上篇有用到,這個只要簡單讀文字檔就好。
以上,目前先做HOME和BLOG這兩頁,剩下的接著再看看吧!
雜紀(jì):