創作內容

29 GP

【C#、net】公開原始碼,哈哈姆特-圖片整理工具

作者:深海異音│2018-02-09 04:48:10│贊助:1,554│人氣:1296

先前我發了一篇 【自製網頁】整理聊天室裡面的所有圖片
可以把哈哈姆特聊天室的圖片自動整理成方便瀏覽的網頁

不過我放在研究室當伺服器的電腦壞了
所以決定直接把程式的原始碼公佈,有需要的人可以在自己的電腦運行



名稱:哈哈姆特-圖片整理工具
運行環境:win7以上、net 4.5以上
開發工具:visual studio
專案類型:C# windowsForms

原始碼(github):https://github.com/hbl917070/haha_img_collect



簡易介紹:

開啟程式後,會自動整理哈哈姆特聊天室裡面的圖片
並且把它變成一個網頁
















原理:

這應該也稱不上是爬蟲,因為我並沒有去逐一訪問巴哈的各個網址
我只是開一個瀏覽器,然後每30秒記錄一次瀏覽器裡面的圖片網址,絕對不會造成巴哈流量的浪費

開啟程式後,每30秒自動把哈哈姆特聊天室裡面的所有圖片記錄起來
並產生靜態網頁的html檔案,可以直接用瀏覽器開啟

  • 每次抓完圖片後都會清空網頁,避免網頁太多內容浪費記憶體
  • 程式每10分鐘會自動回收一次記憶體
  • 瀏覽器核心是火狐,所以專案才會70M這麼大
  • 我是用txt記事本當做簡單的資料庫
  • 程式旁邊有個『黑名單.txt』,程式會略過這些人的圖片不抓
  • 要刪除圖片直接把圖片網址貼到程式右下角的『刪除圖片』文字框即可,課一次多筆,用換行斷開



順便問問看,有沒有好心人手邊的電腦可以幫忙把這個程式架設成網站
用 Apache 或 IIS 或 node js 之類的伺服器就行了
直接把整個程式複製到伺服器裡面就能發佈到網路,連資料庫都不需要設定
不過需要固定IP


引用網址:https://home.gamer.com.tw/TrackBack.php?sn=3882597
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 5 篇留言

ays.
推~
不過開一個瀏覽器其實跟爬蟲差不多意思啦~ 都是送request

02-09 10:13

深海異音
我是以使用者的身份用正常管道訪問,而且頁面從頭到尾都沒有重新整理,應該還是不一樣的吧02-09 12:59
暗月
架在Windows上執行的程式不是很方便,大部分服務都是以*nix系的為主

02-09 10:27

深海異音
我覺得那不是問題,net是可以在Linux環境運行的,比較大的問題是gui界面對伺服器來說是不必要的成本
02-09 13:02
暗月
可以考慮弄個cli模式,可能在啟動時加入一些參數可以把form停用,然後全部都使用參數去操作

02-09 13:10

深海異音
幾個小時隨便寫一寫的東西而已,用那種方式不知道要幾天...02-09 13:18
ays.
其實差不多XD 因為其實爬蟲跟一般瀏覽都一樣是送request,客戶端拿到回傳內容後,如果客戶端是瀏覽器,可能就解析js, img 等等顯示出來;如果是爬蟲就是看你想幹嘛XD
兩個的差別基本上就是多久request一次~ 人最快頂多一秒兩三次,爬蟲可以很暴力的一秒幾十次,所以才會盡量避免用爬蟲 (應該說有禮貌的使用)

所以如果是像樓上那位的需求的話,可以把拿網頁這件事情分開,
變成說用爬蟲的方式拿到網頁做處理,要用GUI的話再用GeckoWebBrowser來處理&呈現出來,這樣的話專案容量應該會小一點(追求專案容量的話就用內建的字串處理or regex parse DOM應該可行)

不過以上是沒有GUI的需求的話,所以我覺得根本沒差XD 我覺得你很猛了,想當年我年輕時廢廢der 都不會寫這麼多造福大家的工具...

02-09 16:06

深海異音
其實也不用這麼麻煩,直接攔截哈哈姆特的WebSocket就行了,不過感覺就像是故意去破解巴哈的系統,感覺比較不是那麼好(觀感上)
不過如果處理的妥當的話,用這樣的方式反而是更節省巴哈的流量,因為只單純撈json的純文字,用瀏覽器會有自動下載圖片變成暫存的問題02-09 17:01
深海異音
話說哈哈姆特也挺厲害的,連IE11都沒辦法瀏覽,所以我才會嵌入火狐核心[e8]02-09 17:03
ays.
XD 我以前也覺得這樣不好,後來心態就轉變了XD (如果對方沒有刻意防,那就代表沒關係 我會這樣想XD)
不過用這樣好像還要額外處理cookie的問題(我不確定有沒有這問題) 感覺還不如直接用瀏覽器 還有圖片暫存機制XD

02-09 17:47

深海異音
變成要模擬瀏覽器去請求資料,處理上有一定難度。
有一些伺服器防的很仔細,我加了很多偽造成伺服器的處理,依然沒辦法訪問,不知道是什麼巫術[e8]02-12 23:56
我要留言提醒:您尚未登入,請先登入再留言

29喜歡★hbl917070 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:很多人都誤解伺服器... 後一篇:【asp.net】原始碼...

追蹤私訊

作品資料夾

xo312345ALL
【仲良しとのFGO日常】文西朋友與小莫朋友 更新看更多我要大聲說3小時前


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】