Screen scraping

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Screen scraping (dosł. 'zeskrobywanie z ekranu') to technika, za pomocą której program komputerowy wydobywa dane z wyjścia innego programu. Służący do tego program to tak zwany screen scraper. Głównym elementem odróżniającym screen scraping od parsingu jest to, że wyjście programu poddawane scrapingowi przeznaczone jest dla człowieka, a nie do interpretacji przez maszynę.

Istnieje wiele synonimów screen scrapingu: data scraping, data extraction, web scraping, page scraping, oraz HTML scraping (przy czym ostatnie trzy odnoszą się do stron WWW).

Ogólny opis[edytuj | edytuj kod]

Zazwyczaj transfer danych między programami odbywa się za pośrednictwem struktur danych przystosowanych do maszyn, a nie ludzi. Struktury takie są najczęściej dobrze uporządkowane, łatwe do odczytu i ograniczają dwuznaczność oraz duplikację do minimum. Bardzo często są one nieczytelne dla człowieka. Wyjście przeznaczone dla człowieka jest przeciwieństwem powyższego, formatowanie, nadmiarowe etykiety, komentarze, oraz inne informacje są nie tylko zbędne maszynie, ale mogą także utrudnić interpretację danych. Jednakże jeśli wyjście jest dostępne jedynie w takim przyjaznym człowiekowi fomacie, screen scraping staje się jedynym zautomatyzowanym sposobem przeprowadzenia transferu danych.

Pierwotnie termin ten odnosił się do czytania danych z pamięci ekranu terminala komputerowego. Analogicznie screen scraping oznacza także skomputeryzowane przetwarzanie HTML-a na stronach WWW. W każdym przypadku screen scraper musi być zaprogramowany nie tylko do przetwarzania interesujących danych, lecz także do odrzucania niechcianych informacji i formatowania.

Screen scraping jest uznawany za nieelegancką technikę, używaną tylko jako ostateczność, kiedy żaden inny mechanizm nie jest dostępny. Oprócz tego, że w programowanie trzeba włożyć większy wysiłek, dane przeznaczone dla człowieka często zmieniają strukturę. Ludzie radzą sobie z tym bez problemu, programy komputerowe jednak w takich przypadkach przestają działać lub (co gorsze) zwracają niepoprawne wyniki.

Linki zewnętrzne[edytuj | edytuj kod]