summaryrefslogtreecommitdiff
path: root/pyscripts/anilist_crawl.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyscripts/anilist_crawl.py')
-rwxr-xr-xpyscripts/anilist_crawl.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/pyscripts/anilist_crawl.py b/pyscripts/anilist_crawl.py
new file mode 100755
index 0000000..c529343
--- /dev/null
+++ b/pyscripts/anilist_crawl.py
@@ -0,0 +1,45 @@
+#!/usr/bin/python3
+
+import requests
+import json
+import os
+
+url = 'https://graphql.anilist.co'
+variables = {}
+home = os.path.expanduser("~")
+subdir = "notes/misc"
+
+
+# Here we define our query as a multi-line string
+query = '''
+query ($name: String, $type: MediaType) {
+MediaListCollection (userName: $name, type: $type) {
+ lists {
+ status
+ entries {
+ media {
+ title {
+ romaji
+ }
+ }
+ }
+ }
+ }
+}
+'''
+
+variables['name'] = input('Enter username: ')
+
+for MediaType in ['ANIME', 'MANGA']:
+
+ variables['type'] = MediaType
+
+ response = requests.post(url, json={'query': query, 'variables': variables})
+ data = response.json()
+
+ with open(os.path.join(home, subdir, "AniList_{}_{}.txt".format(variables['name'], variables['type'])), "w") as f:
+ for sublist in data["data"]["MediaListCollection"]["lists"]:
+ print('----- {} -----'.format(sublist["status"]), end="\n"*2, file=f)
+ for entry in sublist["entries"]:
+ print(entry["media"]["title"]["romaji"], file=f)
+ print("\n", file=f)