Using GitHub Actions?
Java is a language that can turn small projects into medium projects, and medium projects into big projects?
There's nothing cool about it, just a fun holiday during the Spring Festival?
I thought I also aspired to become an elegant C#er, but now I want to start a new project by using Java first?
It was temporarily inconvenient to type, but now I can’t help but want to ask everyone, should you click a Star❓
I hope everyone should pay attention when using it. Every time you use a crawler to download, it is a continuous access to the Forbidden Manga Paradise, so try not to add too many comics at once. This will put more lasting pressure on the Forbidden Manga Paradise server. It's best to choose the one you like and then download it, thank you?
Because the downloader analyzes the web page structure, if the Forbidden Manga Paradise page is updated, the download is likely to fail. Therefore, if you find an error, download failure, or missing pages during use, please submit an issue to notify me to update the code. .
Update date | Update content |
---|---|
2023/02/16 17:00 | The compiler-plugin is updated to version 3.10.1, and the surefire-plugin is updated to 3.0.0-M9 |
2023/02/14 17:00 | Thanks to @AragonSnow for providing the latest image cutting algorithm. Happy Valentine’s Day, everyone? |
2023/01/27 17:00 | Supports automatic domain name switching when encountering anti-crawler five-second shield |
2023/01/24 17:00 | Synchronously follow up the quarkus framework to version 3.0.0.Alpha3, and update surefire-plugin to 3.0.0-M8 |
2022/12/8 11:00 | Synchronously follow up the quarkus framework to version 3.0.0.Alpha2. |
2022/11/15 17:00 | Supports direct conversion of .webp format to .jpg format to avoid having to double-click to open the next one every time. |
2022/11/15 17:00 | Synchronously follow up the quarkus framework to version 3.0.0.Alpha1. |
2022/11/05 21:00 | Fixed the problem of handshake failure due to not supporting TLSv1.3. |
2022/10/25 11:00 | Synchronously follow up the quarkus framework to version 2.13.3.Final. |
2022/10/13 17:00 | Synchronously follow up the quarkus framework to version 2.13.2.Final. |
2022/10/7 17:30 | Abandon the cutting judgment algorithm, because I have found the dividing line between what needs to be cut and what does not need to be cut. It is meaningless to judge the similarity. The version is upgraded to 5.1.0, take off?. |
2022/10/7 14:30 | Optimize the cutting judgment algorithm, abandon the original cutting rule for each picture, and now use a random picture to judge whether the entire comic chapter needs to be cut. Now there may be a page in a chapter that is wrong, but most of them are should be correct. |
2022/10/7 01:00 | Synchronously follow up the quarkus framework to version 2.13.1.Final. |
2022/10/6 17:00 | Supports downloading comics with more than 300 pictures on a single page. |
2022/10/6 01:00 | Wish everyone a happy National Day holiday? . |
2022/10/6 01:00 | The program exit judgment has become more relaxed to avoid missing some pictures causing the program to wait. |
2022/10/6 01:00 | The project has been partially restructured and has become more difficult to understand. The version number has been upgraded to 5.0.0?. |
2022/10/6 01:00 | Synchronously follow up the quarkus framework to version 2.13.0.Final. |
2022/10/6 01:00 | Give up using graalvm22.2.0 and upgrade the project to jdk19. |
2022/8/12 01:00 | Because the front-end level is too low, I don’t know how to judge whether a certain chapter needs to be cut, so I finally used the difference value hash algorithm for similarity verification. Taking the long way around is the shortest way for me!?. |
2022/8/7 13:00 | Fixed the problem of folder naming error when the chapter name ends with a dot. |
2022/8/7 12:00 | Fixed the problem of error when downloading a single chapter comic. |
2022/8/7 11:40 | Upgrade graalvm to 22.2.0. |
2022/8/7 11:20 | Upgraded to support downloading comics in webp format. |
2022/8/7 11:15 | Synchronously follow up the quarkus framework to the 2.2.11.2.Final version. |
2022/4/15 11:15 | Try upgrading Graalvm to 22.0.0. |
2022/4/15 11:10 | Synchronously follow up the quarkus framework to the 2.8.0.Final version. Due to the epidemic in Guangzhou, it is now sealed in the control area, but the holiday is so comfortable. Let me enjoy the holiday life for a while and fix the bugs later.? |
2022/3/31 11:00 | Fixed the problem of download failure due to page style changes in the new version of comics. |
2022/3/24 12:00 | Synchronously follow up the quarkus framework to version 2.8.0.CR1. |
2022/3/18 11:20 | Synchronously follow up the quarkus framework to version 2.7.5.Final. |
2022/3/4 11:20 | Synchronously follow up the quarkus framework to version 2.7.4.Final. |
2022/3/4 11:20 | Synchronously follow up the quarkus framework to version 2.7.3.Final. |
2022/2/25 10:50 | Synchronously follow up the quarkus framework to version 2.7.2.Final. |
2022/2/13 21:33 | Synchronously follow up the quarkus framework to version 2.7.1.Final. |
2022/2/6 11:33 | Synchronously follow up the quarkus framework to version 2.7.0.Final. |
2022/2/1 12:33 | In the new year, I wish all LSPs good health, family happiness, and good luck in the Year of the Tiger?. |
2022/1/28 09:33 | Synchronously follow up the quarkus framework to version 2.6.3.Final. |
2022/1/19 23:09 | Fixed the problem of failure to save pictures when the comic height divided by the number of blocks is rounded to 0. |
2022/1/15 21:26 | Fixed the problem of missing pixels causing screen fragmentation when the height of the comic divided by the number of blocks is not an integer. |
2022/1/14 11:05 | Synchronously follow up the quarkus framework to version 2.6.2.Final. |
2021/12/21 10:10 | Synchronously follow up the quarkus framework to version 2.6.1.Final. |
2021/12/21 10:10 | Synchronously follow up the quarkus framework to version 2.6.0.Final. |
2021/12/21 10:10 | Synchronously follow up the quarkus framework to version 2.5.4.Final. |
2021/12/13 15:10 | Synchronously follow up the quarkus framework to version 2.5.2.Final. |
2021/12/3 11:15 | Synchronously follow up the quarkus framework to version 2.5.1.Final. |
2021/11/25 17:15 | Synchronously follow up the quarkus framework to version 2.5.0.Final. |
2021/11/8 15:30 | Synchronously follow up the quarkus framework to version 2.4.1.Final. |
2021/11/7 01:10 | Congratulations to EDG for winning the League of Legends S11 Global Finals? EDG is duty-bound to rebuild the glory of LPL!?. |
2021/10/29 10:38 | Try to upgrade jdk to Graalvm17. |
2021/10/13 16:47 | There is a problem with the quarkus plug-in of 2.3.0 and the configured settings.xml file cannot be read, so it is upgraded to framework 2.4.0.CR1. |
2021/10/10 14:30 | Synchronously follow up the quarkus framework to version 2.3.0.Final, and upgrade the program version number to 4.0.0. |
2021/10/10 14:30 | Fixed the problem of garbled characters caused by printing non-UTF-8 log encoding in local runtime. |
2021/10/10 14:00 | Finally, the cloudflare verification problem of Banman Paradise has been fixed, and it can now be used normally. |
2021/9/12 13:49 | Synchronously follow up the quarkus framework to version 2.2.2.Final. |
2021/9/10 13:38 | Thanks to the latest image cutting algorithm provided by @calject, now I can finally cut the latest chapter correctly. |
2021/8/10 16:47 | Synchronously follow up the quarkus framework to the 2.1.1.Final version. |
2021/7/28 10:40 | Synchronously follow up the quarkus framework to version 2.0.3.Final. |
2021/7/01 10:40 | Warmly congratulate the 100th anniversary of the founding of our party?, I hope all LSPs will not forget their original aspirations and keep their mission in mind while watching the comics?. |
2021/7/01 10:30 | Synchronously follow up the quarkus framework to version 2.0.0.Final. |
2021/5/31 10:43 | Submit 3.1.0 release version. |
2021/5/26 15:40 | Fixed the problem of crawling failure due to excessive access frequency prompting that Banned Manniang has been spoiled by you??ヽ(??Д`)??It will be better after a minute of rest and restricting access. Banned Mantian has increased the access speed from the interface level. After throttling, downloads will inevitably slow down because it will take at least a minute to access again every time the throttling is triggered. |
2021/5/15 18:34 | Over the weekend, I suddenly discovered that Manga Paradise has removed the Cloudflare 5-second shield, and the program can be used directly through github actions without adding cookies. |
2021/5/9 17:30 | Since Forbidden Manga recently added Cloudflare 5-second shield anti-crawler, it is temporarily necessary to add cookies in the configuration file to crawl. Please add cookies according to the instructions below. I will see how to bypass the interception later. |
2021/4/13 14:30 | Add restrictions on triggering the action. The action will only be triggered if the downloadPath.json file is modified, but not if other files are modified. |
2021/3/27 14:04 | v3.0.0 abandoned the springboot framework and replaced it with the responsive framework quarkus, which should be faster. |
2021/2/25 15:16 | v2.0.0 is a major update that supports directly using Github Action to automatically crawl comics. No local deployment is required. Just enter the comic URL directly and wait for Github Action to crawl to complete and then download the compressed package. |
2021/2/18 22:15 | v1.2.0 supports downloading of non-chapter comics with only one chapter. |
2021/2/18 16:35 | Add the function of downloading a single chapter. |
2021/2/18 15:38 | Make sure that the program can recognize it normally when the configuration in the configuration file is empty. |
2021/2/17 20:51 | Fixed the failure to obtain chapter names due to irregular chapter list format. |
After v2.0.0, it is now supported to directly use Github Action for downloading, without manual deployment.
Github Action is a CI/CD tool launched by Microsoft after acquiring github. You can think of it as a 2-core 7G memory server that Microsoft gives you for free. Every time you submit code, you can trigger the server to run.
Now the program supports downloading completed comics for you directly through this server after submitting the code, and then packaging them into a compressed package for you to download.
Thank you Microsoft, is Microsoft a good practice?
Follow these steps to run a program on GitHub Action
Enter /src/main/resources/downloadPath.json
, click the edit button pointed by the arrow, and edit the file. Note that when using github action mode, you only need to modify this json file, and no other files need to be modified, nor do you need to modify it. Submit a pull request to upstream.
Fill in the comic link in json format. If you want to download one, the format is (note the English double quotes):
[
" https://18comic.vip/album/180459 "
]
If you want to download two or more books, the format is (note the English commas):
[
" https://18comic.vip/album/180459 " ,
" https://18comic.vip/album/182168 "
]
Be careful not to add too many comics at once, otherwise it will take a long time to download, and the compressed package will be very large, and the added link must directly access the website of Forbidden Comics Paradise, rather than various mirror sites. According to Forbidden Comics Paradise The bulletin board prompts that the comic domain name you add should come from the following two:
https://18comic.vip (It is best to use this directly, just change your comic link domain name to this.)
https://18comic.org (If .vip doesn’t work, try this .org site)
After adding, click the submit button below:
After the submission is completed, enter the Actions page to view the program running status:
Green means the operation is successful, yellow means it is running, and red means the operation failed. After the operation is successful, click the corresponding task:
Click on the finder-result compressed package file pointed by the arrow to download the packaged crawler image. Note that the time to download this compressed package depends on the speed of your access to github. If you do not have a scientific Internet connection, it may take a long time to download.
Install jdk19.
Install maven.
Download the source code and modify the following configurations in the application.properties file:
comic.download.path =C:\Users\jiayao\Pictures
comic.proxy.host =127.0.0.1
comic.proxy.port =10808
4. Execute mvn clean package
to get the final jar package
If you download the jar package I provided directly and cannot manually edit the properties file in the jar package, please create a new config folder in the directory where the jar package is located, create a new application.properties file in it, and then paste and modify the above parameters.
The program now supports two running modes, the foreground mode as a single run, and the background mode as a continuously running service
The foreground mode means that the program will automatically close after completing the download task, and download by reading the link in the downloadPath.json file in the code, or by passing in parameters when starting, and the program must be run for each download.
If you have the conditions to manually package the program, enter /src/main/resources/downloadPath.json
directory and fill in the comic link according to the json format. If you want to download one, the format is:
[
" https://18comic.vip/album/180459/ "
]
If you want to download two or more books, the format is (note the commas):
[
" https://18comic.vip/album/180459/ " ,
" https://18comic.vip/album/182168 "
]
Both the foreground mode and the background mode support downloading the entire comic or a single chapter.
After adding the data, package it, and then after ensuring that jdk19 is available, enter the directory where the jar package is located on the command line, and execute java -jar ./*.jar
to run the program in the foreground mode. The program will automatically download all the files in the json file. Comics, when the download is completed, the program will automatically exit.
If there is no conditional packaging program, but there are conditional running programs, for example, only jdk19 is installed but maven is not installed, then directly download the jar package I provided, and create a new config folder in the directory where the jar package is located according to the method mentioned above. Create a new application.properties file in it, paste and modify the above parameters, then enter the directory where the jar is located with the command line, and execute java -jar ./*.jar 漫画路径1 漫画路径2
, such as java -jar ./*.jar https://18comic.vip/album/180459
, this comic will be downloaded at this time, please separate multiple comics with spaces.
Background mode means that the program will continue to run as a service, downloading comics by waiting for interface requests. Each time the interface is requested, a download will be performed, and the program will not automatically close after completing the download.
Package the program or download the jar package I provided, then make sure you have jdk19, enter the directory where the jar package is located on the command line, and execute java -jar ./*.jar -s
(note the -s parameter) to follow the background mode Run the program. When the download is completed, the program will continue to wait for the service.
After running the program, open the browser and enter: in the address bar:
http://localhost:7788/finder/download? homePage =你想要下载的漫画主页
You can start downloading the entire comic, for example
http://localhost:7788/finder/download? homePage =https://18comic.vip/album/177680
If you want to download a separate chapter, you only need to enter the corresponding chapter homepage, for example
http://localhost:7788/finder/download? homePage =https://18comic.vip/photo/211115