Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions api_task.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
from itertools import groupby
from json import loads
from urllib.request import urlopen
import dateutil.parser as parser


def get_date_counts(source):
return {key: len(list(group)) for key, group in groupby(source, key_func)}


def key_func(revision):
return parser.parse(revision['timestamp']).date()


url = 'https://ru.wikipedia.org/w/api.php?action=query&format=json&prop=revisions&rvlimit=500&titles=%D0%93%D1%80%D0' \
'%B0%D0%B4%D1%81%D0%BA%D0%B8%D0%B9,_%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80_%D0%91%D0%BE%D1%80' \
'%D0%B8%D1%81%D0%BE%D0%B2%D0%B8%D1%87 '
data = loads(urlopen(url).read().decode('utf8'))
revisions = data['query']['pages']['183903']['revisions']

date_counts = get_date_counts(revisions)
print(str.join('\n', [f'{date} {count}' for date, count in date_counts.items()]) + '\n')
13 changes: 13 additions & 0 deletions correlation_task.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from json import loads
from urllib.parse import quote
from urllib.request import urlopen
from api_task import get_date_counts

url = f'https://ru.wikipedia.org/w/api.php?action=query&format=json&prop=revisions&rvlimit=500&titles=' \
f'{quote("Бельмондо,_Жан-Поль")}'
data = loads(urlopen(url).read().decode('utf-8'))
revisions = data['query']['pages']['192203']['revisions']

date_counts = get_date_counts(revisions)

print(max(date_counts, key=lambda date: date_counts[date]))
Loading