Cíl práce

Cílem této diplomové práce je analyzovat potenciál web scrapingu při získávání prostorově lokalizovatelných dat a jejich následném využití. Práce se proto zaměřuje nejen na samotné získávání dat, ale také na způsoby extrakce a interpretace geografické informace z různých typů webových zdrojů.

Součástí práce je rešerše a analýza existujících datových zdrojů dostupných na webu, které obsahují geografickou informaci. Součástí této analýzy je i posouzení omezení vyplývajících z licenčních podmínek, legislativního rámce a etických aspektů využití web scrapingu.

Práce dále identifikuje a vybírá konkrétní webové zdroje reprezentující různé způsoby publikace dat, tedy strukturovaná data, polostrukturovaná data i alternativní přístupy, jako jsou RSS feedy a API. Na těchto zdrojích jsou navrženy a implementovány techniky pro automatizované získávání dat z webového prostředí.

Posledním cílem je demonstrace využití získaných dat na konkrétních příkladech. V práci je ukázána vizualizace prostřednictvím webových map a aplikací.

Annotation

This master’s thesis focuses on analyzing the potential of web scraping for acquiring spatially localizable data from the web environment and its subsequent use. The main objective of the thesis is to evaluate to what extent automated data collection can obtain relevant geographic information from different types of web sources and to determine the most suitable methods for this purpose.

The thesis first reviews the current state of the topic and compares web scraping with alternative data acquisition approaches, such as APIs and open data. It then analyzes various types of data sources and their structure, with an emphasis on the differences between structured, semi-structured, and unstructured data. In the practical part, several approaches to data collection are implemented, including web scraping of websites, the use of APIs, and processing of RSS feeds.

Special attention is paid to the extraction of spatial information from textual data, which is carried out using regular expressions, natural language processing methods, and large language models. The extracted locations are subsequently geocoded and used to create spatial datasets.

The thesis also includes the development of web maps that present the collected data in a practical form. Specifically, map applications were created for data from the ČT24 and Bezrealitky websites, enabling their spatial visualization and interpretation.

Použité metody

Zpracování bylo realizováno v jazyce Python a doplněno o databázové, geokódovací a webové technologie. Praktická část využívá web scraping, API, RSS, následné geokódování a kartografickou vizualizaci.

Použitý software

Python 3.13.2FlaskPostgreSQL 18PostGIS 3.6.0GeoServerLeaflet Nominatim OpenStreetMapOpenAI APIGemini APIClaude API

Použité knihovny

requestsBeautifulSoupSeleniumwebdriver-managerfeedparserspaCySQLAlchemypsycopg2lxmljsonargparse

Obecný postup zpracování

1Scraping dat z webu nebo využití RSS kanálu či API
2Extrakce kandidátních lokalit pomocí regulárních výrazů, NER nebo AI modelů
3Geokódování lokalit přes Nominatim
4Transformace dat do GeoJSON nebo uložení do PostgreSQL/PostGIS
5Publikace a vizualizace výstupů pomocí Leafletu, případně Geoserveru

Právní a etický rámec web scrapingu

Web scraping není v českém právním prostředí upraven jedním samostatným právním předpisem, a jeho přípustnost je proto nutné posuzovat v kontextu více právních oblastí současně. Klíčovou roli hraje zejména autorské právo a ochrana databází podle zákona č. 121/2000 Sb., kdy obsah webových stránek může být chráněn jako autorské dílo a systematicky uspořádaná data mohou podléhat zvláštnímu právu pořizovatele databáze. Automatizované získávání dat často zahrnuje jejich rozmnožování, což může představovat zásah do práv nositele těchto práv.

Významným aspektem je také ochrana osobních údajů, která se vztahuje i na veřejně dostupná data. Zpracování těchto údajů musí splňovat principy zákonnosti, minimalizace a účelového omezení. Vedle toho mohou být podmínky užití konkrétních webových služeb právně závazné a jejich porušení může vést k odpovědnosti za porušení smluvních podmínek. Důležitou roli hrají také technická omezení, jako jsou limity počtu požadavků, blokace přístupu nebo pravidla uvedená v souboru robots.txt, jejichž respektování je považováno za standard korektního chování v online prostředí.

V současné době proto nelze web scraping posuzovat obecně, ale vždy v závislosti na konkrétní kombinaci povahy získávaných dat a způsobu jejich následného využití. Rozlišovat je třeba mezi daty faktickými (např. ceny nebo geografické informace), systematicky uspořádanými daty (např. databáze inzerátů) a autorským obsahem (např. texty článků). Zatímco práce s agregovanými nebo odvozenými daty bývá méně problematická, rozsáhlé přebírání obsahu nebo databází může představovat právní riziko.

Neméně důležitý je účel využití dat. V případě akademického a výzkumného využití je web scraping přípustný, pokud jsou data využívána v přiměřeném rozsahu a jsou řádně citovány zdroje. Naopak při komerčním využití, zejména pokud dochází k vytváření konkurenčních služeb, se právní i etická rizika výrazně zvyšují.

Čtyři vytvořené skripty

Každý skript reprezentuje jiný způsob získávání dat z webového prostředí. Detailní popis je umístěn na samostatných stránkách.

Shrnutí výsledků

Práce ukázala, že web scraping může být užitečným nástrojem pro získávání aktuálních prostorově lokalizovatelných dat. Nejefektivnější je v případech, kdy webový zdroj obsahuje strukturovaná data nebo přímo souřadnice. U textových zpravodajských dat je nutné doplnit scraping o metody extrakce lokalit a následné geokódování.

Porovnání čtyř přístupů ukázalo rozdíly mezi klasickým scrapingem, dynamickým scrapingem, RSS kanálem a API. API a RSS poskytují stabilnější strukturu, ale bývají omezeny dostupností a rozsahem dat. Scraping HTML umožňuje získat data i ze zdrojů bez otevřeného rozhraní, zároveň je však citlivý na změny struktury webu a právní omezení.

Výsledky práce potvrzují, že web scraping má v geoinformatice praktický potenciál zejména jako doplňkový zdroj dat pro webové mapy, prostorové analýzy a sledování aktuálních jevů.

Ke stažení