無名相簿瀏覽器final
delay了很久終於完成.這是上個月設計的一個程式,主要用途是在瀏覽兼下載無名相簿,之後又添加了一項"隨選"的功能,可以依自己設定的條件來挑選相簿主人,操作容易,設計簡樸.
按此下載本程式(32kb壓縮檔,最後上傳:08/14 01:16)
※程式由Visual Studio 2005撰寫,使用前需下載必要條件.Net Framework 2.0
操作簡介:
打入無名帳號(這邊借用gyba來測試一下),按下確定即可列出所有相簿.選單具自動完成與歷史紀錄功能.
點選相簿會以分頁的方式呈現內容.
"全部下載"就是把這本相簿所有照片打包,路徑可自行設定.分頁按右鍵可選擇關閉.
點選照片可以看原始大小的圖片,再點選可以另存新檔.
再來說一下另一項功能"隨選",依自己喜好設定條件,打勾表示需要這個選項,第一次搜尋較花時間.
結果出來了,下圖就是一個合乎條件的相簿主人,有沒有謊報我就不知道了,不滿意可以再按一次.本程式不保證每次挑出來都是正妹or帥哥,請小心使用.
一些心得:遇到批次作業,網路傳輸的問題都得用thread來輔助,單線執行會讓你的程式一直處在等待中,這也是我頭一次使用thread,其原理學過os的都懂,只是要套用在自己的程式上往往得思考一番,Critical Section問題也是常常碰到的,vb.net都有對應的解決方法(Monitor,Interlocked...).TabControl控制項的運用也得透過一些技巧.字串分析是最耗時間的,如何切出自己想要的部份,都要多方觀察與測試.區區一個"隨選"功能也花我很多功夫,要兼顧效率與負載,避免不需要的重複動作.
當然bug是永遠存在的,程式寫到最後也不是我能控制,最大的問題大概就是"何時,如何結束不需要的thread".如果遇到錯誤視窗跳出,請按"繼續"鈕通常可以繼續使用,如果視窗突然消失也不要太驚訝,這些都在正常的操作範圍.也歡迎大家回應給我.
目前已知的bug有:
1.新分頁的圖片還未全部load完成,按下關閉會造成嚴重的錯誤.
2.隨選功能大量連接無名的伺服器,連續玩30次可能會暫時被封鎖,浮動ip者斷線重連即可.
3.無法使用滑鼠滾輪捲動頁面.
4.超吃記憶體.
...(待發現)
※如果想要贊助請匯款到我paypal帳戶(還未申請).
ref:
體驗.NET Multithreading的快感-以VB.NET開發Thread Pool式網路芳鄰掃瞄程式
Understanding Threading in .NET Framework using VB.NET
Multithreading in .NET - The Code Project - .NET
達可鴨的池塘總有好的idea
13 意見:
那天在堵藍明那就看過DEMO版的
大大真強耶
要是PAYPAL我依定贊助你的
你Reference少寫一個啦,偷偷把我的瀏覽器做反向工程。
錢我可以幫代收,請各位捐到我這邊。darkerduck@gmail.com。謝謝各位的合作。
啊,操控不當,瀏覽器撞毀了。
不過還真是好玩。
關於字串分析的部份,善用regular expression的話會很簡單。
建議設定的部份可以多加一樣"人氣",人氣高的相簿應該比較不容易看到恐怖的圖。
對阿!
要感謝darker的熱情贊助,每次總有好點子;)
舜哥你好酷!
還滿好用的,一次看比較快....
1.看越多越吃記憶體,用到最後逼近我的FireFox了(從17MB吃到要70MB沒繼續測,不知道可不可以吃光記憶體XD)。那些記憶體應該是被拿去Buffer照片吧@@
2.隨機實在太... 雖然很爽XD。按一下產生的出來的connections比我的BT還多@@,而且沒有給限制他會沒完沒了的Create connection<->Kill Connection
常Crash 不過滿好玩的。
目前發現比麻煩的Bug
是關掉以後在視窗介面看不到。可是其實這隻Process還是躲在背景偷吃記憶體跟網路頻寬XD。似乎在某種狀況下關閉會造成,並不是每一次。
可以加入對相簿名稱的字串比對,這樣就可以廣泛搜尋。例如輸入『新垣結衣』就會全部列出來。(雖然無名有這樣的功能,不過使用瘋狂Create Connection看的比較快)。
雖然想推接下來自動下載,不過我還沒有測試他會不會通過防毒系統的時候已經Crash到關掉重開都不會動了XD..好像不重新開機已經沒救了Orz
厲害厲害,
等完成之後貼到PTT吧~XD
回達可鴨:用"人氣"來篩選這方面有想過,不過得一次讀取所有相簿才能做sort,恐怕網路負荷不了,使用者等待時間也過長.除非我可以連接無名的資料庫,科科.
回米都:用相簿名來比對效果不彰,問題同上我得把所有頁面收集起來.記憶體的問題確實可怕,應該是頁面關掉時,picturebox忘記dispose.
真是強者我同學...
張貼留言