![Page 1: Screen scraping se ScraperWiki (Jindřich Mynarz)](https://reader038.vdocuments.us/reader038/viewer/2022110115/54928cb3ac79592f2e8b4667/html5/thumbnails/1.jpg)
Screen-scrapingse ScraperWiki
Big CleanPraha, 19.3. 2011
Jindřich MynarzNTK, SNM FF UK
![Page 2: Screen scraping se ScraperWiki (Jindřich Mynarz)](https://reader038.vdocuments.us/reader038/viewer/2022110115/54928cb3ac79592f2e8b4667/html5/thumbnails/2.jpg)
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)](https://reader038.vdocuments.us/reader038/viewer/2022110115/54928cb3ac79592f2e8b4667/html5/thumbnails/3.jpg)
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)](https://reader038.vdocuments.us/reader038/viewer/2022110115/54928cb3ac79592f2e8b4667/html5/thumbnails/4.jpg)
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)](https://reader038.vdocuments.us/reader038/viewer/2022110115/54928cb3ac79592f2e8b4667/html5/thumbnails/5.jpg)
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)](https://reader038.vdocuments.us/reader038/viewer/2022110115/54928cb3ac79592f2e8b4667/html5/thumbnails/6.jpg)
Omezte počet HTTP požadavků
![Page 7: Screen scraping se ScraperWiki (Jindřich Mynarz)](https://reader038.vdocuments.us/reader038/viewer/2022110115/54928cb3ac79592f2e8b4667/html5/thumbnails/7.jpg)
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)](https://reader038.vdocuments.us/reader038/viewer/2022110115/54928cb3ac79592f2e8b4667/html5/thumbnails/8.jpg)
http://www.flickr.com/photos/dreamsjung/5244004907/
![Page 9: Screen scraping se ScraperWiki (Jindřich Mynarz)](https://reader038.vdocuments.us/reader038/viewer/2022110115/54928cb3ac79592f2e8b4667/html5/thumbnails/9.jpg)
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)](https://reader038.vdocuments.us/reader038/viewer/2022110115/54928cb3ac79592f2e8b4667/html5/thumbnails/10.jpg)
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)](https://reader038.vdocuments.us/reader038/viewer/2022110115/54928cb3ac79592f2e8b4667/html5/thumbnails/11.jpg)
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)](https://reader038.vdocuments.us/reader038/viewer/2022110115/54928cb3ac79592f2e8b4667/html5/thumbnails/12.jpg)
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)](https://reader038.vdocuments.us/reader038/viewer/2022110115/54928cb3ac79592f2e8b4667/html5/thumbnails/13.jpg)
Další informace
O ScraperWiki• http://scraperwiki.com/about/
Návody• http://scraperwiki.com/help/tutorials/
Dokumentace• http://scraperwiki.com/help/documentation/