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
23 changes: 23 additions & 0 deletions API.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
from itertools import groupby
from urllib.request import urlopen
from json import loads
import datetime


def convert_date(date):
return datetime.datetime.strptime(date['timestamp'], '%Y-%m-%dT%H:%M:%SZ').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 '

#url = 'https://ru.wikipedia.org/w/api.php?action=query&format=json&prop=revisions&rvlimit=500&titles=%D0%91%D0%B5%D0' \
# '%BB%D1%8C%D0%BC%D0%BE%D0%BD%D0%B4%D0%BE,_%D0%96%D0%B0%D0%BD-%D0%9F%D0%BE%D0%BB%D1%8C '

data = loads(urlopen(url).read().decode('utf8'))
revision = data['query']['pages']['183903']['revisions']


for convert_date, count in groupby(revision, convert_date):
print(convert_date, sum(1 for _ in count))
39 changes: 39 additions & 0 deletions get_news.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import xml.etree.ElementTree as ET
from urllib.request import urlopen
import json

tree = urlopen('https://lenta.ru/rss').read().decode('utf8')
root = ET.fromstring(tree)


def get_date_and_title():
news = []
for item in root.iter('item'):
fields = {}
for field in item:
fields["title"] = item.find('title').text
fields["pubDate"] = item.find('pubDate').text
news.append(fields)

with open('new.json', "wb") as write_file:
write_file.write(json.dumps(news, ensure_ascii=False).encode('utf8'))
write_file.close()


get_date_and_title()


def get_all_tags():
news = []
for item in root.iter('item'):
fields = {}
for field in item:
fields[field.tag] = field.text
news.append(fields)

with open('new1.json', "wb") as write_file:
write_file.write(json.dumps(news, ensure_ascii=False).encode('utf8'))
write_file.close()


get_all_tags()
1 change: 1 addition & 0 deletions new.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions new1.json

Large diffs are not rendered by default.