為了看妹子,動手?jǐn)]了一個網(wǎng)站
時間:2023-05-21 21:22:02 | 來源:網(wǎng)站運(yùn)營
時間:2023-05-21 21:22:02 來源:網(wǎng)站運(yùn)營
為了看妹子,動手?jǐn)]了一個網(wǎng)站:2022-07-31,因服務(wù)器到期,該網(wǎng)站停止維護(hù)了
幾個月前刷本站的時候看見一哥們怕了 Instagram 的圖片,建了一個網(wǎng)站,感覺不錯。我平時也經(jīng)常刷 ins 看妹子的圖片。so, 作為程序員也想搞個類似的網(wǎng)站,畢竟自己的網(wǎng)站才好玩。
因?yàn)閴Φ拇嬖凇?。放棄?ins 的計劃,轉(zhuǎn)而瞄準(zhǔn)了微博。
說干就干,開始注冊域名,申請備案,然后實(shí)現(xiàn) https加密。(starimg.cn
關(guān)于 SSL 證書,騰訊云可以免費(fèi)申請,所以順道做了。
買服務(wù)器,撘服務(wù)器環(huán)境。騰訊云因?yàn)橛袃?yōu)惠所以買了15個月的服務(wù)器。
接下來就是網(wǎng)站的整個架構(gòu)了。
- 數(shù)據(jù)咋來?怎么存儲
- 網(wǎng)站后臺用啥語言?
- 網(wǎng)站前端頁面怎么渲染?
關(guān)于數(shù)據(jù):
因?yàn)橐郧坝?Python 爬過一次古詩文的數(shù)據(jù)。(xuegushi.cn 所以,數(shù)據(jù)決定還是通過Python 來爬取。爬的是微博的手機(jī)端數(shù)據(jù),即 m.weibo.cn 的數(shù)據(jù),發(fā)現(xiàn)可以獲取其 json 字段,是個不錯的選擇。代碼具體見 GitHub: johnnyzhang1992/imageSpider
爬下來數(shù)據(jù)數(shù)據(jù)接下來就是存儲了。數(shù)據(jù)主要分兩部分,字段以及實(shí)際圖片。
數(shù)據(jù)庫選擇了比較熟悉的 PostgreSql。
數(shù)據(jù)表- 字段可以選擇建表入庫;
- 圖片要是存到服務(wù)器那就要花費(fèi)太多存儲空間了,好在微博的圖片并沒有做防偽鏈,所以圖片也可以直接入庫不必保存到數(shù)據(jù)庫了。
爬完微博不死心,決定爬爬 ins,爬的是開口那哥們做的網(wǎng)站的數(shù)據(jù),奈何人家防爬蟲做的不錯cookie 一直過期而且他的圖片是做的服務(wù)器緩存一段時間沒人訪問就自動釋放了,那么在數(shù)據(jù)庫直接保存鏈接看了來是不行,那就直接存到了騰訊云的對象存儲 cos 里面。
cos 存儲選擇了 PHP 的 SDK,那接下開就是看代碼,存數(shù)據(jù)。so,保存 ins 圖片也基本搞定了。
騰訊云 cos關(guān)于后臺:
代碼爬下來入庫后,那就要建后臺處理數(shù)據(jù)了。因?yàn)楣ぷ髟蛞恢庇?PHP的框架 laravel ,所以還是選擇用這個框架。GitHub 上找了個開源的主題就開始做了。(
https://admin.starimg.cn/網(wǎng)站后臺因?yàn)榕赖奈⒉┑膱D片,所以用戶的微博廣告肯定很多,而且圖片也是亂七八槽的啥都有,那就要爬取后做初次的篩選了。一開始是一張一張的來,后來發(fā)現(xiàn)太麻煩,開始批量處理。
現(xiàn)在數(shù)據(jù)基本上可以用了。接下來就要寫接口把數(shù)據(jù)傳給前端了。
本來打算用 GraphQL來寫,后來發(fā)現(xiàn)有點(diǎn)麻煩,暫時放棄了,先用 laravel 的方法寫出來打算以后再重寫。
關(guān)于前端:
前端渲染一開始就決定用 react.js 因?yàn)橐恢睂@個框架比較感興趣。
因?yàn)閮?nèi)容大部分是圖片,展示的時候希望用 Pinterest 瀑布流的方式。所以開始找插件,在寫后臺代碼以及接口的過程中一直沒找到合適的,后來的 GitHub 上偶然發(fā)現(xiàn) Pinterest 人家自己有開源的瀑布流框架那就拿過來直接用唄??蚣芙?Gestalt:
https://pinterest.github.io/gestalt/react, react-dom ,gestalt.最后代碼用 webpack 進(jìn)行打包,測試后內(nèi)容基本實(shí)現(xiàn)。
so,一個網(wǎng)站的架子已經(jīng)搭起來了。
明星個人詳情頁