/verejne-zakazky

Veřejné zakázky velkého a malého rozsahu

Primary LanguagePHPApache License 2.0Apache-2.0

Veřejné zakázky na Hlídači státu

Stát uveřejňuje veřejné zakázky v XML souborech (ukázka). Ty jsou k dispozici na mnoha různých serverech (seznam) a každý server je poskytuje trochu jinak. Konkrétně jde např. o URL binárních dokumentů (např. PDF), které zakázku popisují. Některé servery odkazují přímo adresu tohoto binárního dokumentu (ukázka), ale jiné odkazují jen HTML stránku, na které je teprve odkaz na binární dokument. My bychom potřebovali získat URL těchto binárních dokumentů. Některé informace navíc v XML exportu vůbec nejsou, např. taková drobnost jako předpokládaná hodnota zakázky. Na HTML stránce ale obvykle jsou (ukázka).

Vaším úkolem je napsat scraper, který z HTML stránky získá chybějící informace.

Scraper může být velmi jednoduchý, lze se inspirovat u těch stávajících. V ideálním případě by kód měl přežít i drobné změny stránky, pokud ale dojde např. ke kompletnímu redesignu serveru, tak se kód celkem pochopitelně nejspíš rozbije a bude ho potřeba opravit. To už je úděl scrapingu. Z toho důvodu je obzvlášť vhodné psát i testy, které nefunkčnost scraperu odhalí.

Napsání scraperu pro daný server je hlavní část vaší práce. Kromě toho je potřeba získat seznam veřejných zakázek na daném serveru (poskytujeme API), pak konkrétní zakázku s informacemi z XML souboru (poskytujeme API) a následně uložit získané informace (poskytujeme API). To je v zásadě nezávislé na konkrétním serveru. Postup

Podrobná dokumentace
Otázky? Slack channel!