Naklikej si scraper přes import.io

Úvod

Na import.io jsem narazil díky @xorwen. Na první pohled se jedná o vynikající tool a proto jsem ho hned začal servírovat svým studentům na MUNI a chválit ho na našem blogu (ano, jedná se o ten samý blog, který právě čtete).

Při použití mimo laboratorní podmínky jsem ale narazil na pár ALE:

Stať

Potřebovali jsme natahat živéfirmy.cz, proto jsem rovnou sáhl po desktopové aplikaci, která nabízí nejvíce funkcí.

Při tahání většího objemu parametrů jsem narazil na potíže s UI rozhraním. Sloupečky se mnou hrály na schovávanou. Některé se dokonce styděly natolik, že zmizely pár vteřin po přidání.

Když už se mi povedlo dát sloupečky do kozelce, narazil jsem na odchylky na některých stránkách. Znamenalo to pro mě znova překlikat dvanáct ukázkových stránek. A pak pro jistotu ještě jednou.

Pokud se poslední parsovaný prvek na webu zobrazuje jen na některých stránkách, import.io vám natáhne vše, co za prvkem následuje. Tím dostanete do košíku pěkný balast.

Měl jsem za to, že po naklikání spustím pracanty import.io někde na Amazoním obláčku, aplikaci vypnu a půjdu na kávu. Omyl - aplikace musí běžet po celou dobu stahování. Requesty a download běží přes Amazon, parsování dat už běží lokálně. Teprve až vše doběhne, můžu data hodit na jejich servery.

Opravdu smutné je, že se mi po spuštění nepovedlo přijít na to, jak si uložit pouze část dat. Máte jen možnost scraping zastavit a skončit s tím co máte.

S množstvím stahovaných stránek roste logicky i doba potřebná pro stažení. To importu odpustím. Neodpustím mu ale už, že živéfirmy.cz poběží čistého času nekonečně dlouho, protože se zacyklí kvůli zařazení jedné firmy do více kategorií.

Tu a tam při parsování import natáhl i stránku, která neodpovídala popsanému schématu (třeba strom krajů České republiky místo konkrétních firem).

Ze všeho nejvíc mě ale děsila představa, že mi aplikace při sosání padne a nic neuloží.

Po dvou dnech aplikace padla a nic neuložila.

Výhody a nevýhody? Naklikat je to hell, ale můžeš si to dělat doma.

Závěr