Talk:AllPages: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 6: | Line 6: | ||
import json | import json | ||
base_query = 'http://heroes.thelazy.net/wiki/api.php?action=query&list=allpages&aplimit=500&apfilterredir=nonredirects&format=json&apfrom=' | base_query = 'http://heroes.thelazy.net/wiki/api.php?action=query&list=allpages&aplimit=500&apfilterredir=nonredirects&format=json&apfrom=' | ||
query_title = '' | query_title = '' | ||
Line 17: | Line 16: | ||
for page in results['query']['allpages']: | for page in results['query']['allpages']: | ||
title = page['title'] | title = page['title'] | ||
titles[title] = | titles[title] = urllib.parse.quote(title.replace(' ', '_')) | ||
if 'query-continue' in results: | if 'query-continue' in results: | ||
query_title = results['query-continue']['allpages']['apcontinue'] | query_title = results['query-continue']['allpages']['apcontinue'] | ||
Line 26: | Line 25: | ||
for title, url in sorted(titles.items()): | for title, url in sorted(titles.items()): | ||
output_file.write('[' + url + ' ' + title + ']\n<br>\n') | if title != 'AllPages': | ||
output_file.write('[[' + url + '|' + title + ']]\n<br>\n') | |||
</pre> | </pre> | ||
--[[User:imahero|imahero]] 04:19, 6 September 2016 (CEST) | --[[User:imahero|imahero]] 04:19, 6 September 2016 (CEST) |
Revision as of 12:36, 8 September 2016
List Generation
#!/usr/bin/env python3 import urllib.request import json base_query = 'http://heroes.thelazy.net/wiki/api.php?action=query&list=allpages&aplimit=500&apfilterredir=nonredirects&format=json&apfrom=' query_title = '' titles = {} while True: request = urllib.request.urlopen(base_query + query_title) response = request.read() results = json.loads(response.decode()) for page in results['query']['allpages']: title = page['title'] titles[title] = urllib.parse.quote(title.replace(' ', '_')) if 'query-continue' in results: query_title = results['query-continue']['allpages']['apcontinue'] else: break output_file = open('output.mediawiki', 'w') for title, url in sorted(titles.items()): if title != 'AllPages': output_file.write('[[' + url + '|' + title + ']]\n<br>\n')
--imahero 04:19, 6 September 2016 (CEST)
- Nice technical page, but I must ask is there any use for it? At least for me this seems quite useless, causing hinder rather than help. –Kapteeni Ruoska (talk) 06:11, 7 September 2016 (CEST)
- I wanted to make sure there wasn't anything I was missing. When I'm browsing through the list it's easier to click these links than copy pasting the auto-generated titles from the api query.
- --imahero 03:14, 8 September 2016 (CEST)
- Sure, just wondering, as the wiki already has Special:AllPages, but perhaps there is a use for that. –Kapteeni Ruoska (talk) 07:27, 8 September 2016 (CEST)
- Special:AllPages felt too clumsy for me to navigate. All I really wanted was a single list of all nonredirect links :)
- --imahero 08:31, 8 September 2016 (CEST)