Comic Spider - a tool for downloading and viewing online images.
The purpose of this software is sharing and learning. It is for previewing only. If you like the mangas/illustrations please support the author by purchasing them.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
April 2012 y.s.
- Open source, no ads and free forever.
- All you need are only dragging and dropping.
- Auto-login service.
- A better way to view manga via auto-created display pages.
- Multithreaded and parsing fast.
- An easy to use Lua programmable interface.
- Not only downloading comic images.
- It can be easily modified to a complex downloader.
- Support remote script controller.
- Always get the latest parser without updates.
Please watch the Video Demo
Please install the "vcredist_x86.exe" in the "Asset" folder, then try again. Or install this pack vcredist_x86.exe.
Maybe using Mono will make the project more open, but now for Windows only. I provide a programmable interface to control the search behavior of producer: Lua Interface. VC++ runtime is required for Lua, I put it in the ComicSpider/Asset/vcredist_x86.exe
- C#, .NET3.5, WPF, http protocol, regular expression, XPath
- html5, css3, js, jQuery
Spider main work flow
There are three main task queues:
- Volume info queue
- Page info queue
- File info queue
Multiply producer and consumer threads will be created to work with these queues(linked lists but behave like queues).
Producer threads will try to search pieces of valuable information, then push them into the queues. File downloader threads will simply download files via the information queues. The spider will act like a normal browser and handle all the Cookies, Referer and other basic header information automatically.
Most unpredictable part is the producer part. Every site has its way to handle information presentation. But most sites has a same routine, they all have a classic tree with depth 3 and with unknown leaves.
- Volume list
- Page list
- File list
But still you can use XPath to get information, I implemented a lua api for HtmlAgilityPack.
Since login is required to download in some sites, I implemented a login web service for some famous sites.
Detail work flow of producer
- Load lua controller (login some sites if needed)
- Get comic name (create comic folder)
- Get volume list (create volume folder)
- Get page list
- Get file list
Detail work flow of downloader
- download file
- create a presentation page to display images of each volume
Auto created presentation page
It has many useful functions for browsing images. Such as auto resize large image and auto split wide image. With html5 animation, it will be great to use it browsing image collections, not only mangas.