好玩的github專案-可快速拉取各種網站的妹子圖coll-mz

wwdyy發表於2016-12-09

轉自 github 使用者:fotomxq

collmz

介紹

COLL-MZ 專案主要用於採集煎蛋、飛 G、妹子圖、Xiuren 網站,以及本地類似圖片、視訊等檔案,並展示到瀏覽器中。

特別申明

該專案主要是個人學習 golang 而開發的第一個試水程式,請勿將該專案用於非法用途。

特點

專為悶騷程式設計師提供; 採集各大妹子圖片資料; 手動採集、定時採集(2 小時進行一次); 在瀏覽器快速瀏覽相關採集資料; 可整理本地檔案、視訊、漫畫、文字等資料; sqlite3 開放式資料庫,可自行構建訪問,方便二次開發; 可根據具體需求,構建其他網站的採集程式; 純 Golang 實現。

使用方法

1、下載專案到本地任意檔案;

2、執行 collmz-server-..exe 檔案;

3、通過瀏覽器訪問http://localhost:8888./config/config.json 檔案內自行修改埠。可以看到專案,可在

4、初始使用者名稱:admin@admin.com,密碼:adminadmin

程式碼編譯環境搭建步驟

1、安裝 golang 語言執行環境,配置好環境變數;

2、安裝 gcc 編譯環境,並配置好環境變數,推薦使用 mingw,下載地址:https://sourceforge.net/projects/mingw-w64/

3、安裝 golang 第三方庫:

  • goquery

github.com/PuerkitoBio/goquery

  • sqlite3

github.com/mattn/go-sqlite3

  • session

github.com/gorilla/sessions

4、下載該專案程式碼,到 golang 工作目錄中任意目錄,建議使用 git 克隆。

5、因為是在 win10 x64 下開發、編譯的,所以只能保證該環境下執行良好,其他環境請自行排錯。

FAQ

1、可以不部署程式碼直接使用麼?

可以,下載整個專案,之後執行 exe 檔案即可。專案內的 controller 資料夾可自行刪除。

2、編譯失敗是什麼情況?

常見的錯誤主要出在 sqlite3 上,因為該第三方庫是用 C 實現的,需要用到 GCC 編譯器,也就是 mingw,所以如果安裝錯版本、沒有配置對環境變數,都會報錯。64 位系統一定要使用 64 位的 GCC 編譯。

3、想在此結構上構建其他採集器怎麼做?

在 controller 下有 coll-children-...go 的檔案,這些檔案都是對應的採集器程式碼,可參考這些程式碼寫自己需要的採集專案。

可使用構建好的相關框架,首先在 coll.go 內註冊好採集器,這樣可直接通過瀏覽器訪問到採集器;然後自行建立 go 檔案寫入程式碼,這樣就可以了。

注意,如果是正在開發的專案,CollChildren.dev 儘量等於 true,這樣在瀏覽器端內容易區分。

CollOperate.Auto...(),這幾個方法是整合了大部分情況下采集工作,可以極大方便採集工作。

關於專案邏輯、思維導圖

4、採集速度如何?

由於 sqlite3 無法多開執行緒,所以一個採集器只能對應一個併發操作,如果發現重複執行、在採集過程中瀏覽資料會自動阻止。

每個採集器有各自的執行緒。

5、為什麼某些採集器不能用?

個別採集器因為國內區域網限制,需要自行解決問題。

其次極個別採集的網站存在 JS 動態載入功能,以及各種阻攔採集工作的功能,所以未來看個人開發能力提升後再解決。這類採集器都標記了 dev 狀態,你可以在採集介面中看到。

6、如何修改初始使用者名稱和密碼?

在寫這段文字的時候,我才想起來沒有做這個頁面,所以暫時請用 sqlite 工具開啟./content/database/coll-mz.sqlite 資料庫,修改其中的 user 表資料即可。

=============================================================== github 地址:https://github.com/fotomxq/coll-mz

更多原創文章乾貨分享,請關注公眾號
  • 好玩的github專案-可快速拉取各種網站的妹子圖coll-mz
  • 加微信實戰群請加微信(註明:實戰群):gocnio

相關文章