Screen scraping se ScraperWiki (Jindřich Mynarz)
-
Upload
narodni-technicka-knihovna-ntk -
Category
Technology
-
view
979 -
download
2
description
Transcript of Screen scraping se ScraperWiki (Jindřich Mynarz)
Screen-scrapingse ScraperWiki
Big CleanPraha, 19.3. 2011
Jindřich MynarzNTK, SNM FF UK
Co je to "scraper"?
Scraper je "počítačový program převádějící webové stránky na data."
(http://scraperwiki.com/)
Kroky screen-scraperu
1. Stažení zdroje informací (např. HTML)2. Parsování3. Extrakce informací
Extrakce informací a parsování
• HTMLo HTMLTidyo Document Object Model (DOM)
• texto regulární výrazy
Zodpovědné scrapování
• Návštěva webové stránky scraperem by měla být nerozeznatelná od návštěvy člověkem.
• Návštěva webových stránek je jako návštěva u někoho doma.
• Buďte zdvořilí.
Omezte počet HTTP požadavků
Omezte počet HTTP požadavků
1. Omezte množství stahovaných dat jen na ta, která potřebujete.
2. Časově rozložte HTTP požadavky 3. Používejte cache.
http://www.flickr.com/photos/dreamsjung/5244004907/
Podmínky scrapování
• Ověřte si, zdali jste oprávněni obsah webu používat.• Respektujte licence obsahu webových stránek.• Respektujte robots.txt.
Nástroje
• Needlebaseo http://needlebase.com/
• Yahoo! Query Languageo SELECT * FROM html WHERE url="http://example.com"
o http://developer.yahoo.com/yql/• Google Spreadsheets
o importHtml()o http://docs.google.com/
• ScraperWikio http://scraperwiki.com/
ScraperWiki
• Wiki pro screen-scrapery umožňující jejich kolaborativní vytváření
• Hosting pro scrapery• Náhledy na získaná data: formátování a základní analýza
dat• Hostovaná databáze (SQLite)• Nástroje pro práci s různými formáty: HTML, CSV, XLS,
PDF• Podporované programovací jazyky: Python, Ruby, PHP• Data sklizená scrapery jsou ke stažení jako CSV, XML,
JSON, atp.
Zapojte se
• "Trh" scraperůo Poptávka po
scraperech - vypsané odměny za data
o Výzvy k opravám a lepšímu popisu scraperů a náhledů vytvořených na sklizenými daty (tagy, popisky)
Další informace
O ScraperWiki• http://scraperwiki.com/about/
Návody• http://scraperwiki.com/help/tutorials/
Dokumentace• http://scraperwiki.com/help/documentation/