Author How do I Export my Manga list ? ... ( making a file of it )
Avatar
Since MD pretty much fuck up now that alot Scanlators pulling the chapters off MD , i wonder how to export my Manga List

I mean .... , theres alot of Manga that got pulled up because of MD drama

https://docs.google.com/document/d/1XqnN06TNvRzDGPxsddv7eUYWsG8GFmxcJKe4aw-mPvA/preview


https://mangadex.org/thread/92399/1
i kinda dont trust the Original thread anymore since the Admin use his/her power to edit someone thread / comment , since theres might be a word that deleted by them

Avatar
First of all: They edited to make a clarification because the original poster was speaking out of their arse, taking comments out of context, and take Holo's dream (Which is basically more of a meme then anything), and try and take it seriously (The thread is long, but all the information is there TL;DR MD isn't going to go legit unless a actual miracle occurs and shit like the culture around Licencing etc changes overnight)

Secondly: While there are a number of manga effected by these groups leaving, there are far more that are entirely unaffected and saying "Since MD pretty much fuck up" is a kneejerk overreaction at best, or a blatant attempt at trolling at worse.

Finally: Saw your poll and now am pretty sure you're a troll, but in case I'm incorrect, I'd recommend keeping a list on a word document if you're that paranoid of anything happening to MangaDex but a few things:

1: MD hasn't betrayed jack, the drama queens turned a non-story into a story to incite the drama to either a. Try to force MD to take their side in some petty drama over sniping and "mean" credit pages or b. to act as smoke and mirrors to try and make people side with them, despite them inconveniencing their readers by pulling out of MD, you know, the only Manga site that I'm aware of that allows reading delays, and has multiple places to put links to their websites so people can go visit them there which is a total 10/10 move, not stupid in the slightest but at least they'll have more eyes on their Patreon pages, would say the same for their ad revenue but it must suck that AdBlock is so common these days.

1.5: If MD "not taking their side" on the petty drama is a "betrayal", even that isn't their fault since from the get go they've always (At least, from as far as I can tell) tried to be impartial and leave adults to deal with drama like adults (And guess what this bunch didn't do?)

2: How is MD greedy? They literally ask for nothing, have no ads running (Bar funny April Fools ads), and actually give the groups the choice to upload or not, and I can't recall the last time I've seen any of the MD mods ask for donations, if this is a troll that option feels like some serious projection, and if it's a serious suggestion how in the hell would you make a website less "greedy"?

So yeah, you're either painfully confused and misled over the whole situation (Can't blame you too much I suppose, the situation is a royal clusterfuck of a nontroversy) or a really bad attempt at a troll, but the TL;DR is MangaDex isn't likely to go anywhere anytime soon and the likes of JB and assorted thin-skinned drama queens ain't going to do anything to change that (Although losing chapters on MD is annoying, but it's annoying at worst) but since any of these sites could be struck down suddenly I'd imagine keeping a backup would be a smart idea, and writing down the names of 500+ Manga will take some time so an export function would be nice (I took a quick gander around the site and can't find any export option, if I missed it please comment how to, Inb4 it's actually the easiest thing to do and I'm just a blithering moron)
FireFish5000
Developer
Avatar
Skip this and go to my post below for a oneliner to export your follows.

@Serelanordir Ignoring the crap, and just directly answering your question.

I do not currently know of a builtin function for exporting your manga, but if you are capable of using a userscript

Install https://greasyfork.org/en/scripts/372585-mangadex-autocomplete
Go To https://mangadex.org/follows/manga
Set view to detailed (in to right corner, underneath the profile button)
Visit all pages (Follows page number, not all manga. For me, 7 pages covering 265 titles )
open browser console
Run mangaList.savable().followed to get more detailed information on all your follows in a json stringifyable format.
Run console.log(Object.values(mangaList.list.followed).map(e=>e.title).reduce((a,e)=>a+"\n"+e) ) to export just the current MD titles of your follows.
Run console.log(Object.values(mangaList.list.followed).reduce((a,e)=>`${a == "" ? "" : a + "\n"}[url=${e.url}]${e.title}[/url]`,"") ) to export MD bbcode links to every title.
My exported list

I could simplify my code and make it work a lot more reliably thx to a lot of site improvements, but haven't bothered since it still works (thx to redundancy).
Detailed info will not capture your ratings, just MD title ID, and description atm.

You can see some more details about my autocomplete userscript here --> https://mangadex.org/thread/28548
Last edited 1 year ago by FireFish5000.
Avatar
@firefish5000

You are a god among men, I salute you o7
FireFish5000
Developer
Avatar
Lol, thx @Valkynaz

@Serelanordir
I will reiterate, I am ignoring all the crap, and only responding to the thread's title.

MD does not have a builtin export option yet. However, I wrote a oneliner that will do the job. Can run from any MD page as long as your logged in. No changes to any setting/view modes are needed. Source included, but minified version reccomended for ease of access. Minified versions were generated by uglify.
Code and Instructions below.

Source [Console]: export-follows.js

Minified versions [Console | Bookmarklet] (a bookmarklet is a bookmark with js code as the url):
Title only version (Baka Updates compatible):

Follow Status (Rating): Title version:
    javascript:(()=>{let[e,t]=function(){let e=document.createElement("button"),t=document.createElement("div"),n=document.createElement("div"),o=document.createElement("div");return n.appendChild(o),t.style.display="flex",t.style.alignItems="center",t.style.justifyContent="center",t.style.position="fixed",t.style.width="100vw",t.style.height="100vh",t.style.top="0",t.style.left="0",t.style.backgroundColor="rgba(0,0,0,.75)",t.style.flexWrap="wrap",t.style.flexDirection="column",t.appendChild(e),t.appendChild(n),e.textContent="Looking For Follows",e.disabled=!0,document.body.appendChild(t),[e,o]}();(function e(t,n,o,l){return console.log(`Fetching Page ${t}`),n.textContent=`Fetching Page ${t}${l?` of ${l}`:""}`,new Promise((l,a)=>{fetch(`https://mangadex.org/follows/manga/0/0/${t}/`).then(r=>{r.text().then(r=>{let c=document.implementation.createDocumentType("html","",""),i=document.implementation.createDocument("","html",c);i.documentElement.innerHTML=r;let d=Object.values(i.documentElement.querySelectorAll(".manga-entry"));if(0==d.length)return a();d=function(e){return e.map(e=>{let t={};return t.id=e.dataset.id,t.title=e.querySelector(".manga_title").title,t.url=e.querySelector(".manga_title").href,e.querySelectorAll(".btn-group .dropdown-menu .dropdown-item.disabled").forEach(e=>{if(e.classList.contains("manga_rating_button")){let n=e.textContent.trim();""!=n&&(t.rating=e.id)}else e.classList.contains("manga_follow_button")&&(t.followText=e.textContent.trim(),t.follow=e.id)}),t})}(d),o.textContent=o.textContent?o.textContent:0;let[,m,u]=i.documentElement.querySelector("#chapters > p").textContent.match(/to (\d+) of (\d+)/),s=i.documentElement.querySelector("#chapters .page-link .fa-angle-double-right").parentElement.href.match(/(\d+)\/$/)[1];if(o.textContent=`Found ${m} / ${u} follows.`,t>=parseInt(s))return l(d);l(e(t+1,n,o,s).then(e=>d.concat(e)).catch(()=>d))}).catch(a)}).catch(a)})})(1,e,t).then(t=>{let n=t.sort((e,t)=>e.follow-t.follow||(null!=t.rating?t.rating:-1)-(null!=e.rating?e.rating:-1)).reduce((e,t)=>`${""==e?"":e+"\n"}${t.followText}${null!=t.rating?` (${t.rating})`:""}: ${t.title}`,"");console.log(n),e.textContent="Copy Follows!",e.disabled=!1,e.onclick=(()=>{!function(e){let t=document.createElement("textarea"),n=document.getSelection();t.textContent=e,document.body.appendChild(t),n.removeAllRanges(),t.select(),document.execCommand("copy"),n.removeAllRanges(),document.body.removeChild(t),console.log(`Copied cover art '${e}'`)}(n),e.parentElement.remove()})})})();


Instructions:
  1. Copy the red code above.
  2. Open your browsers console [Firefox | Chrome]
  3. Paste code into console
  4. Push enter
  5. Wait for follows list to be downloaded, then click "Copy Follows!"
An overlay button will appear when it runs (at step 4). As it looks up your follows, it will say "Fetching Page __ of __"
Once its done (should be a few seconds on good connections), it will say "Copy Follows!" Click it to copy your follows list to the clipboard.
Where you paste this list is up to you.

Preview:

Example output:


For importing MU lists into MD, see my redit comment: https://www.reddit.com/r/manga/comments/ba22hw/is_there_a_way_to_import_mangaupdates_list_to/er7dlqn?utm_source=share&utm_medium=web2x
Just a couple steps away from a 2 way sync userscript. I'll create a new thread and add a link to this when I am complete.
Last edited 12 mo ago by FireFish5000.
Avatar
Hi @FireFish5000, thanks for your code. I have succesfully exported hundreds of my reading list from MD to MU. I also wanted to do the opposite but the reddit comment that you linked has no longer available. Can you also share the way to Import MU list to MD?
Avatar
I tried to follow the procedure described above, but I'm probably too "baka" because I get an error message and logout.
Without getting lost in complicated expert steps, would it be possible to implement the script directly on the site in a future update?

type a "button" in the follow menu that launches the js (json or what you need) and creates the list to be saved.


p.s = to clarify, I speak only of the list of titles followed (and perhaps changing the page also applicable to the other titles of the other lists such as "planned to read" or "in hold" etc). I'm not talking about physically downloading titles.
Last edited 5 mo ago by BLN123.
Avatar
@BLN123, I don't know if you have noticed it before but the process to import MD to MU is really easy. You only need a browser and a program that can write down a text that you have copied from clipboard (notepad, or any other text software).

You said you got an error when you tried to export your manga, can you share us the error code or screenshot of when that happened?
Avatar
I wasn't talking about the MD -> MU process;

I was referring to the previous posts, those with explanations to save the MD follow list.

-open the "follow" page in the browser
-open browser console (i use chrome)
- paste the red code in the console
-enter
...
and the result is this message in the console :
VM4155:1 Uncaught (in promise) DOMException: Failed to set the 'innerHTML' property on 'Element': The provided markup is invalid XML, and therefore cannot be inserted into an XML document.
at <anonymous>:1:962


exit the console , reload the page and i am at the "login page"
Avatar
@BLN123 same problem here.

@FireFish5000 could you help us? From what I tried to search a solution to no avail, it seems the problem lies with this segment of the code: i.documentElement.innerHTML=r
But why and how to fix I don't know. Thanks anyway

Avatar
Also having the same error code when trying to export my list.

Any workarounds?

Tried in multiple browsers and even incognito (just to disable all browser plugins)
Avatar
Removed
Last edited 3 mo ago by firelight.
Avatar
@FireFish5000 using this method mangaList.savable().followed is it possible to extract chapter no as well 😀
Last edited 3 mo ago by ethicalhacker58.
Avatar
Here's one I made. If you get an error when running FireFish's, try mine.
By default, it groups the manga by status and outputs with BBCode, like this:
On hold (-1): 29 to JK

Note: Only run this code in detailed view and on page 1. You can change the filter and the sorting.

Code:
https://files.catbox.moe/du0gia.txt
Last edited 3 mo ago by firelight.
Avatar
@firelight Sorry for PM'ing you before, probably best to just post here
I got this error with your last code

Promise {<rejected>: TypeError: manga.querySelector is not a function
at get_manga_data (<anonymous>:116:24)
at …}__proto__: Promise[[PromiseStatus]]: "rejected"[[PromiseValue]]: TypeError: manga.querySelector is not a function
at get_manga_data (<anonymous>:116:24)
at get_mdlist_data (<anonymous>:93:12)
at run (<anonymous>:5:25)
at <anonymous>:9:1
VM145:116 Uncaught (in promise) TypeError: manga.querySelector is not a function
at get_manga_data (<anonymous>:116:24)
at get_mdlist_data (<anonymous>:93:12)
at run (<anonymous>:5:25)
at <anonymous>:9:1

Do I need to disable ALL plugins maybe ?
Last edited 3 mo ago by WhiteEkans.
Avatar
Your PM was helpful so now I don't need anymore PMs. 😀 It let me know that it wasn't a problem with MangaDex returning an error page or something.
Edit: @WhiteEkans I added a catbox link with the working code. Some of it was being converted to BBCode before.

Thanks Halo. That's probably why he got that error. 😀
Last edited 3 mo ago by firelight.
Avatar
@firelight

test [ i ]

I see. MangaDex fucked up your code and removed [ i ] from let manga = mangas [ i] (same with other for loops)
Post it on gitlab or something. Or change it to other variable since [ i ]is a bbcode for italic
Last edited 3 mo ago by Halo.
Avatar
@firelight

Would it be possible to add the author and organize the text so that we can import it into a spreadsheet program (as a csv)?

I went and edited my obtained list such that it looks like this:

Completed | (-1) | https://mangadex.org/title/4477/3-am-dangerous-zone | 3 AM Dangerous Zone
Completed | (10) | https://mangadex.org/title/28635/3-ban-sen-no-campanella | 3 Ban Sen no Campanella
...
Reading | (-1) | https://mangadex.org/title/14563/yuri-danshi | Yuri Danshi

I used the " | " as a delimiter since there are only about 5 entries that actually use that symbol in their titles, compared to using ";" or ",".

I then added this as the first line for my imported columns in my spreadsheet file: `Reading Status | Rating | URL | Name` (although I'd prefer switching Name and URL)

Also, why the BBCode urls? Is the purpose of this code to share the result on forums? If so, that's fine, but cleaning that up was a pain.

I know I just asked a lot of you, but I'm eternally grateful for the code you have posted. Since the site devs don't feel inclined to make this a priority issue (a list site with no backups smh), people like you posting alternatives is a godsend. Thanks again!
Avatar
If anyone is having trouble exporting their follows, you can set your MDList privacy to public or to friends only and add me as a friend. Then PM me and I'll export it for you. 😊
If you do that, please do not change your MDList privacy to private until I send you the exported file.
If you don't specify how you want your follows exported, I'll make it CSV ***WITHOUT*** extra manga data. Author, artist, and original language (lang_flag) will be blank!

@noh3face
Sorry for late reply. I saw a notification but forgot to check it.
bbcode is the default because that's the way the other person did it but on second thought that would probably be the least used option.
I added support for authors. It's disabled by default but the code has instructions for enabling it. You need to set 'include_extra_manga_data' to true.

Export follows v4: https://files.catbox.moe/kykmid.txt

Other info:


To view the exported file:


Here's an example of the CSV output
Last edited 25 days ago by firelight.
Avatar
@firelight

🤩 WOW WOW WOW!!! 😍

You are absolutely amazing. Thank you for addressing my concerns. I'll now be able to make regular backups, like I do with my MangaUpdates lists. The instructions are incredibly helpful as well.

Beautiful work and thanks again!