![]() |
![]() |
#1 |
Archives everything
Join Date: Jun 2005
Location: Fake_Place
Posts: 680
|
DA/FA/HF/* download script
Well, I mentioned this here recently, and people seemed rather interested. Since I've enjoyed writing it, and I'm sure to learn from any people's advice on what I did wrong, I stuck my download script on GoogleCode.
http://code.google.com/p/xadownloader/ It requires python 2.6 and WxPython, but it does let you download all the works of an artist or artists from Deviantart, HentaiFoundry, Furaffinity or hArtists automatically. If anyone has questions, I'm happy to help. I'm working on getting some docs up on the googlecode site. Also, if anyone is interested in other sites, I will consider that too. |
![]() |
![]() |
![]() |
#2 |
OhYeah!
Join Date: Jun 2007
Location: Jersey Shore
Posts: 38,933
|
Re: DA/FA/HF/* download script
OHYEAH! Sounds kewl but...
Is it safe? ![]()
__________________
- |
![]() |
![]() |
![]() |
#3 | |
Process Fan
Join Date: Apr 2008
Posts: 84
|
Re: DA/FA/HF/* download script
Loved the descriptor you put up. I might check this out - it looks handy, cheers!
Quote:
|
|
![]() |
![]() |
![]() |
#4 |
Frequent Poster
Join Date: Jun 2008
Posts: 123
|
Re: DA/FA/HF/* download script
Since I didn't spot any obvious documentation, a quick tutorial:
1) If you haven't already, download and install python 2.6 and WxPython, using the following links: http://www.python.org/download/releases/2.6/ http://www.wxpython.org/download.php 2) Download the file xadownloader.rar from http://code.google.com/p/xadownloader/ 3) Unpack xadownloader.rar into its own folder somewheres. 4) Double-click main.py (if you've installed both Python dealies earlier, it should execute; if your computer asks how to open it you need to go do step 1 and be less impatient) 5) Set the Plugin: field to your porn repository of choice 6) Set the Overwrite Mode to anything not the default 7) Click on 'Manage Cookies', select each option in turn, and give it your username/password for each service. Remember to Get Cookie before moving on to the next. This is optional, but required if you want the porny stuff. Which, let's face it, is why you're using it. 8) Type in the name of the artist you wish to archive 9) Click 'Start Download' 10) Wait a few minutes 11) Dance in the field of downloaded files. They're in the xadownloader folder, filed under the service, then the artist name. Last edited by Bestarred; 01-21-2010 at 01:41 PM. |
![]() |
![]() |
![]() |
#5 |
Frequent Poster
Join Date: Jun 2008
Posts: 123
|
Re: DA/FA/HF/* download script
After a quick test on dnapalmhead of FA, it seems that this thing caps out at 122 images. Anything up there?
EDIT: Blargh, I'm an idiot. Ignore this; I didn't set up cookies. Last edited by Bestarred; 01-21-2010 at 01:34 PM. |
![]() |
![]() |
![]() |
#6 | |
Archives everything
Join Date: Jun 2005
Location: Fake_Place
Posts: 680
|
Re: DA/FA/HF/* download script
Quote:
Thanks. Do you mind if I stick your little writeup on the wiki site for the project? It's a script, so you can look at the source and decide for yourself. Last edited by Fake_Name; 01-21-2010 at 11:16 PM. |
|
![]() |
![]() |
![]() |
#7 |
Frequent Poster
Join Date: Jun 2008
Posts: 123
|
Re: DA/FA/HF/* download script
Go for it. Just let me know if I missed anything. Do you always have to exit the program to change what artist it's archiving, or is there a trick there?
|
![]() |
![]() |
![]() |
#8 |
Archives everything
Join Date: Jun 2005
Location: Fake_Place
Posts: 680
|
Re: DA/FA/HF/* download script
If you let it finish, you can change the artist.
Also, you can create a newline-separated list of artists, and pass it into the program, and it will automatically iterate over the list. (Click the browse button one a plugin is selected) I should really implement the stop button's function. However, program control is passed to the plugin when it's downloading an artist's files, so I'd need to implement some sort of standard control interface in each plugin to handle that, and I'm too lazy. It's partially done already (there is a state command queue which is written to by the stop and pause buttons, and passed to the plugins), but since the plugins are procedural, I'd need to implement state checking at every step. Edit - Ok, further docs are up. Last edited by Fake_Name; 01-21-2010 at 11:15 PM. |
![]() |
![]() |
![]() |
|
|