In [1]:
"""Import potrebnych kniznic
requests na pracu s webom 
pandas na vytvorenie dataframu a pracu s datami
json na pracu s jsonom"""
import requests
import pandas as pd
import json
from pandas.io.json import json_normalize
In [2]:
"""Ulozenie celeho obsahu webu do premennej resp pomocou metody get v kniznici requests."""
resp = requests.get('https://www.rohlik.cz/api/v2/categories/')
In [3]:
"""Deserializacia/Dekodovanie jsonu
na python objekty a ulozenie do premennej data pomocou metody loads z
kniznice json."""
import json
data = json.loads(resp.text)
In [4]:
"""Dekodovanie Python objektu spet na JSON. Ak je ensure_ascii False, obsah moze obsahovat
aj ne-ASCII znaky - https://terpconnect.umd.edu/~zben/Web/CharSet/htmlchars.html"""
categories = json.dumps(data, ensure_ascii = False, indent = 4)
In [5]:
"""Nacitanie JSONu do premennej df pomocou pandas metody read_json"""
df = pd.read_json(categories)
In [6]:
#Vypis nadpisov
newDf = json_normalize(data['categories'])
In [7]:
newDf.to_csv('categories.csv', encoding='utf-8', index=False)
In [5]:
newDf = pd.read_csv('categories.csv')
newDf.head(11)
Out[5]:
icon_url id name parent_id position
0 NaN 300102026 Bylinky a koření 300102000 116
1 https://1564005101.rsc.cdn77.org/images/catego... 300102000 Ovoce a zelenina 0 86
2 NaN 300102027 Řezané 300102026 1
3 NaN 300102001 Ovoce 300102000 88
4 NaN 300102039 Bio ovoce 300102001 1
5 NaN 300107010 Maso a drůbež 300107000 572
6 https://1564005101.rsc.cdn77.org/images/catego... 300107000 Mražené 0 559
7 NaN 300107011 Drůbež a králík 300107010 1
8 https://1564005101.rsc.cdn77.org/images/catego... 300111000 Domácnost 0 925
9 NaN 300111001 Úklidové potřeby 300111000 1
10 https://1564005101.rsc.cdn77.org/images/catego... 300112207 Výprodej 0 1