Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import re, urllib.parse, urllib.request
- website = r'https://ru.wiktionary.org'
- categorylist = [
- "Категория:Прилагательные, склонение 1*a",
- "Категория:Прилагательные, склонение 1*a-",
- "Категория:Прилагательные, склонение 1*a'",
- "Категория:Прилагательные, склонение 1*a((1))",
- "Категория:Прилагательные, склонение 1*a(1)",
- "Категория:Прилагательные, склонение 1*a(1)-",
- "Категория:Прилагательные, склонение 1*a(2)",
- "Категория:Прилагательные, склонение 1*a/b",
- "Категория:Прилагательные, склонение 1*a/b(2)",
- "Категория:Прилагательные, склонение 1*a/b~",
- "Категория:Прилагательные, склонение 1*a/c",
- "Категория:Прилагательные, склонение 1*a/c'",
- "Категория:Прилагательные, склонение 1*a/c'^",
- "Категория:Прилагательные, склонение 1*a/c'~",
- 'Категория:Прилагательные, склонение 1*a/c"',
- "Категория:Прилагательные, склонение 1*a~",
- "Категория:Прилагательные, склонение 1*b",
- "Категория:Прилагательные, склонение 1*b/c'",
- 'Категория:Прилагательные, склонение 1*b/c"',
- "Категория:Прилагательные, склонение 1*b^",
- "Категория:Прилагательные, склонение 1*b~",
- "Категория:Прилагательные, склонение 1*а",
- "Категория:Прилагательные, склонение 1a",
- "Категория:Прилагательные, склонение 1a?7",
- "Категория:Прилагательные, склонение 1a'",
- "Категория:Прилагательные, склонение 1a'~",
- "Категория:Прилагательные, склонение 1a(1)",
- "Категория:Прилагательные, склонение 1a/b",
- "Категория:Прилагательные, склонение 1a/b(2)",
- "Категория:Прилагательные, склонение 1a/c",
- "Категория:Прилагательные, склонение 1a/c-ё",
- "Категория:Прилагательные, склонение 1a/c'",
- "Категория:Прилагательные, склонение 1a/c'^",
- "Категория:Прилагательные, склонение 1a/c'~",
- 'Категория:Прилагательные, склонение 1a/c"',
- "Категория:Прилагательные, склонение 1a/c~",
- "Категория:Прилагательные, склонение 1a^",
- "Категория:Прилагательные, склонение 1b",
- "Категория:Прилагательные, склонение 1b?",
- "Категория:Прилагательные, склонение 1b/c",
- "Категория:Прилагательные, склонение 1b/c'",
- "Категория:Прилагательные, склонение 1b/c'~",
- "Категория:Прилагательные, склонение 1b/c~",
- "Категория:Прилагательные, склонение 1b/c~^",
- "Категория:Прилагательные, склонение 1bX",
- "Категория:Прилагательные, склонение 2*a",
- "Категория:Прилагательные, склонение 2*a-",
- "Категория:Прилагательные, склонение 2*a^",
- "Категория:Прилагательные, склонение 2a",
- "Категория:Прилагательные, склонение 2a/c",
- "Категория:Прилагательные, склонение 3*a",
- "Категория:Прилагательные, склонение 3*a'",
- "Категория:Прилагательные, склонение 3*a/b",
- "Категория:Прилагательные, склонение 3*a/c",
- "Категория:Прилагательные, склонение 3*a/c'",
- "Категория:Прилагательные, склонение 3*a/c'^",
- 'Категория:Прилагательные, склонение 3*a/c"',
- "Категория:Прилагательные, склонение 3*a/c^",
- "Категория:Прилагательные, склонение 3*a~",
- "Категория:Прилагательные, склонение 3*aX~",
- "Категория:Прилагательные, склонение 3a",
- "Категория:Прилагательные, склонение 3a'",
- "Категория:Прилагательные, склонение 3a'~",
- "Категория:Прилагательные, склонение 3a/c",
- "Категория:Прилагательные, склонение 3a/c'",
- 'Категория:Прилагательные, склонение 3a/c"',
- 'Категория:Прилагательные, склонение 3a/c"^',
- 'Категория:Прилагательные, склонение 3a/c"~',
- "Категория:Прилагательные, склонение 3a^",
- "Категория:Прилагательные, склонение 3a~",
- "Категория:Прилагательные, склонение 3aX~",
- "Категория:Прилагательные, склонение 3b",
- "Категория:Прилагательные, склонение 3b/c",
- "Категория:Прилагательные, склонение 3b/c'",
- "Категория:Прилагательные, склонение 3b/c'~",
- "Категория:Прилагательные, склонение 3b/c~",
- "Категория:Прилагательные, склонение 3bX~",
- "Категория:Прилагательные, склонение 4a",
- "Категория:Прилагательные, склонение 4a-ся",
- "Категория:Прилагательные, склонение 4a/b",
- "Категория:Прилагательные, склонение 4a/b'",
- "Категория:Прилагательные, склонение 4a/b~",
- "Категория:Прилагательные, склонение 4a/c",
- "Категория:Прилагательные, склонение 4aX",
- "Категория:Прилагательные, склонение 4aX~",
- "Категория:Прилагательные, склонение 4b",
- "Категория:Прилагательные, склонение 4b~^",
- "Категория:Прилагательные, склонение 4bX",
- "Категория:Прилагательные, склонение 5a",
- "Категория:Прилагательные, склонение 6*a",
- "Категория:Прилагательные, склонение 6a",
- ]
- allres = []
- for category in categorylist:
- counter = 0
- goon = True
- while goon:
- counter += 1
- query = website+r'/w/api.php?action=query&format=json&generator=categorymembers&gcmlimit=500&gcmprop=title&gcmtitle='+urllib.parse.quote(category)
- if counter > 1:
- query = query+'&gcmcontinue='+cont
- s = urllib.request.urlopen(query).read().decode('ascii')
- if s == '{"batchcomplete":""}':
- goon = False
- else:
- try:
- cont = re.search('\{"gcmcontinue":"page\|[0-9a-f|]+","continue":"gcmcontinue\|\|"\}', s).group(0)
- cont = re.search('page\|[0-9a-f|]+', s).group(0)
- except AttributeError:
- goon = False
- res = re.split(r'("title":".*?")', s)
- res = [res[i] for i in range(len(res)) if i%2!=0]
- res = [category + '\t' +eval(re.sub(r'.+:(".*")',r'\1',i)) for i in res]
- print (res[0], len(s))
- #print (res)
- allres = allres+res
- allres = '\n'.join(allres)
- with open('ListPagesInMediawikiCategory-Result.txt', mode='wt', encoding='utf-8') as f:
- f.write(allres)
- print ('Output text length', len(allres), 'characters.')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement