Screen scraping se ScraperWiki (Jindřich Mynarz)

13
Screen-scraping se ScraperWiki Big Clean Praha, 19.3. 2011 Jindřich Mynarz NTK, SNM FF UK

description

Prezentace Screen scraping se ScraperWiki z workshopu Big Clean, Chcete vědět víc? Mnoho dalších prezentací, videí z konferencí, fotografií i jiných dokumentů je k dispozici v institucionálním repozitáři NTK: http://repozitar.techlib.cz Would you like to know more? Find presentations, reports, conference videos, photos and much more in our institutional repository at: http://repozitar.techlib.cz/?ln=en

Transcript of Screen scraping se ScraperWiki (Jindřich Mynarz)

Page 1: Screen scraping se ScraperWiki (Jindřich Mynarz)

Screen-scrapingse ScraperWiki

Big CleanPraha, 19.3. 2011

Jindřich MynarzNTK, SNM FF UK

Page 2: Screen scraping se ScraperWiki (Jindřich Mynarz)

Co je to "scraper"?

Scraper je "počítačový program převádějící webové stránky na data."

(http://scraperwiki.com/)

Page 3: Screen scraping se ScraperWiki (Jindřich Mynarz)

Kroky screen-scraperu

1. Stažení zdroje informací (např. HTML)2. Parsování3. Extrakce informací

Page 4: Screen scraping se ScraperWiki (Jindřich Mynarz)

Extrakce informací a parsování

• HTMLo HTMLTidyo Document Object Model (DOM)

• texto regulární výrazy

Page 5: Screen scraping se ScraperWiki (Jindřich Mynarz)

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í.

Page 6: Screen scraping se ScraperWiki (Jindřich Mynarz)

Omezte počet HTTP požadavků

Page 7: Screen scraping se ScraperWiki (Jindřich Mynarz)

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.

Page 8: Screen scraping se ScraperWiki (Jindřich Mynarz)

http://www.flickr.com/photos/dreamsjung/5244004907/

Page 9: Screen scraping se ScraperWiki (Jindřich Mynarz)

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.

Page 10: Screen scraping se ScraperWiki (Jindřich Mynarz)

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/

Page 11: Screen scraping se ScraperWiki (Jindřich Mynarz)

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.

Page 12: Screen scraping se ScraperWiki (Jindřich Mynarz)

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)

Page 13: Screen scraping se ScraperWiki (Jindřich Mynarz)

Další informace

O ScraperWiki• http://scraperwiki.com/about/

Návody• http://scraperwiki.com/help/tutorials/

Dokumentace• http://scraperwiki.com/help/documentation/