Sběrač obrázků (souborů) z různých online prohlížeček

mhi

  • *****
  • 500
    • Zobrazit profil
Obcas se mi stane, ze mam dostupny nejaky online zdroj pro knizku nebo obrazky, kde je z nejakeho duvodu komplikovano stazeni obrazku hromadne nebo ulozeni PDFka. Aktualne treba "analogove pomucky" z vademecum.nacr.cz jsou obrazky slozene z dlazdic typu https://vademecum.nacr.cz/mrimage/vademecum/zoomify//cz/archives/CZ-100000010/inventare/dao/images/0285/e049d8c9-9663-48ae-b076-03569bda7a71.jpg/TileGroup0/2-0-0.jpg

Jde mi ale o obecny princip, protoze takovych zdroju treba v zahranici jsou stovky (knihovny, archivy, apod.). Potrebuju tedy stahnout celou "knihu" (ukol 1) - zde jde o inventar archivniho fondu, pokud to ma dlazdice jako v prikladu tak ty pospojovat do jednoho obrazku (ukol 2), a pak z toho udelat PDFko nebo to prohnat OCRkem (ukol 3).

Ukol 3 umim-to neni problem.
Ukol 2 umim snadno naprogramovat pomoci libjpeg, treba na to neco existuje.

Ukol 1 aktualne vyresit numim. Napadaji mne 3 cesty

1a - automatizace pomoci prohlizece, prakticke by to bylo jen kdyz by existoval nejaky nastroj na tohle urceny, abych nemusel plodit javascripty pro kazdy pripad :(;

1b - pomoci (lib)curl si naprogramovat nejaky nastroj individualne pro kazdy pripad, ono tech prohlizecu dlazdicovanych knih/map/materialu neni tak moc, asi by to po nejake dobe slo recyklovat

1c - udelat proxyserver, ktery bude ukladat zvolene stranky na disk behem toho jak to clovek bude rucne prochazet. zde se moje cinnost redukuje pouze na lokalizaci dulezitych souboru v http(s) komunikaci, zbytek pak muze proklikat za mne nekdo jiny

A sakozrejme kombinace a-b-c :-).

Nerad bych znovuvynalezal kolo, budu rad za tipy na nejake existujici nastroje.

Cilem je treba OCRkovat tyhle scanovane dokumenty abych z 1000 stran nasel  10 stranek, kde se vyskytuje nejake slovo

Dekuji za pripadne odpovedi.
« Poslední změna: 22. 02. 2023, 22:54:55 od Petr Krčmář »


Re:Sběrač obrázků (souborů) z r ůzných online prohlížeček
« Odpověď #1 kdy: 22. 02. 2023, 15:18:55 »
Httrack ke stazeni webu ktery te zajima a pak si muzes offline treba skladat obrazky.

mhi

  • *****
  • 500
    • Zobrazit profil
Re:Sběrač obrázků (souborů) z r ůzných online prohlížeček
« Odpověď #2 kdy: 22. 02. 2023, 15:42:01 »
Prosel jsem ten web a prijde mi to jako takovy lepsi wget, pletu se ? Ve FAQ tvrdi:

"There are cases, however, that can not be (yet) handled: [ ... ]    Intensive Java/Javascript sites - might be bogus/incomplete"

Ten JS je celkem bezny, pres xmlhttprq se nacte json seznam objektu, pak seznam dlazdic a cele se to generuje (netvrdim, ze to je prace pripad Zoomify z NA ČR). Pak jsou sluzby, kam se clovek musi prihlasit treba pres Google aby ziskal pristup k dokumentu. Proto mym napadem byla ta https proxy.

Re:Sběrač obrázků (souborů) z r ůzných online prohlížeček
« Odpověď #3 kdy: 22. 02. 2023, 16:08:51 »
Nenapsal jste, zda nutně potřebujete pracovat jen se samotnými obrázky, nebo zda můžete do PDF uložit celou zobrazenou stránku. Pokud to první, nezbyde vám nic jiného, než se zabývat strukturou každého webu. Pokud to druhé, stačí v prohlížeči zvolit tisk do PDF (prohlížeče založené na Chromiu to umí), nebo, pokud to chcete zautomatizovat, použít nástroje, které pro tisk do PDF používají headless Chromium a dají se skriptovat (obvykle nástroje pro testování webů). Zkusil bych třeba https://playwright.dev, nebo se podívejte na další nástroje v nedávné diskusi Čím generovat PDF z HTML?. Přičemž i v tomhle případě můžete manipulovat s DOMem stránky, takže můžete třeba vymazat části, které vám tam překáží, aby to OCR neřešilo text samotné stránky, ale jen obrázky.

mhi

  • *****
  • 500
    • Zobrazit profil
Re:Sběrač obrázků (souborů) z r ůzných online prohlížeček
« Odpověď #4 kdy: 22. 02. 2023, 16:29:17 »
Ano, leckde jde udelat tisk do PDF, NA CR nabizi i ulozeni jedne stranky do souboru po zadani captcha :). Jak o tom uvazuju, potrebuju spis jenom ty obrazky, protoze jde treba o dokument z 19. stoleti a uz s tim ma OCRko problemy i kdyz ma "cistou stranku" v 1bpp. Natoz aby tam byly nejake ovladaci prvky ktere vzniknou pri prevodu z HTML :).

Takze cil rozhodne neni ulozit jednu stranku do PDF, ale ulozit 200-1000 stranek v nejake forme, ktera mi umozni dalsi zpracovani. A to klidne i tak, ze to nekdo proklika, nebo se na to napise nejaky quicj'n'dirty javascript.

Osobne si myslim, ze kdybych do kazde te instituce kde neco potrebuju napsal, tak mi treba i PDFko poslou, ale je to casto treba na tyden cekani, na schvalovani nejakym vedoucim, atd.


Re:Sběrač obrázků (souborů) z r ůzných online prohlížeček
« Odpověď #5 kdy: 22. 02. 2023, 17:03:17 »
toto sa vola scrapping a potrebujes na to scrapper.

ked som mal 20 tak som si napisal scrappera na jednu porno galeriu. Bolo to dost premakane, bolo to v Springu a tahalo to cele galerie v x treadoch zaroven a ukladalo obrazky na disk a metadata o nich do mysql (nazov galerie, rozmery) takze som spravil select na "big tits" a vratilo mi to vsetko ...

asi 300 GB som takto potahal.

Problem je ze scrapping je nachylny na zmenu struktury odkial sa to taha. Ak crawlujes web po elementoch a oni to prerobia tak to musis riesit ze niekam pridali div atd ... je to otrava ale urcite implementovatelne.

Hodim ti sem nazov kniznice cez ktoru som parsoval html elementy ked budem doma

Re:Sběrač obrázků (souborů) z r ůzných online prohlížeček
« Odpověď #6 kdy: 22. 02. 2023, 18:08:09 »
Ano, leckde jde udelat tisk do PDF
Já jsem nepsal o funkci webu, psal jsem o funkci prohlížeče. Ten stránku uloží do PDF, ať se to stránce líbí nebo ne.

Jak o tom uvazuju, potrebuju spis jenom ty obrazky, protoze jde treba o dokument z 19. stoleti a uz s tim ma OCRko problemy i kdyz ma "cistou stranku" v 1bpp. Natoz aby tam byly nejake ovladaci prvky ktere vzniknou pri prevodu z HTML :).
Jak jsem psal, překážející HTML kód můžete manipulací s DOMem stránky smazat nebo skrýt. Případně můžete uložený obrázek (headless Chrome umí ukládat i do PNG, nejen PDF) nebo PDF oříznout. Připadá mi to pořád výrazně jednodušší, než z HTML získávat adresy obrázků a obrázky pak zase nějak skládat dohromady.

Takze cil rozhodne neni ulozit jednu stranku do PDF, ale ulozit 200-1000 stranek v nejake forme, ktera mi umozni dalsi zpracovani. A to klidne i tak, ze to nekdo proklika, nebo se na to napise nejaky quicj'n'dirty javascript.
Nástroje, o kterých jsem psal, jsou určené pro skriptování, takže s nimi je možné naskriptovat uložení 1000 stránek jako PNG nebo PDF. Pak z nich můžete vyříznout požadovanou oblast s obrázkem (třeba pomocí ImageMagicku) a na závěr je můžete spojit do jednoho PDF (to asi umí ImageMagick také, nebo to umí tisíce jiných nástrojů).

Re:Sběrač obrázků (souborů) z r ůzných online prohlížeček
« Odpověď #7 kdy: 23. 02. 2023, 05:23:47 »
toto sa vola scrapping a potrebujes na to scrapper.
Scraping, s jedním p - https://en.wikipedia.org/wiki/Web_scraping

Re:Sběrač obrázků (souborů) z různých online prohlížeček
« Odpověď #8 kdy: 23. 02. 2023, 13:23:43 »
Zdravím, vím, že na stahování tiles based obrázků z českých archivů (směrem ke genealogii, historii) používají nástroj Dezoomify, což je jednak asi webappka - https://dezoomify.ophir.dev/ a za druhé a hlavně - opensource appka v Rustu - https://github.com/lovasoa/dezoomify-rs. A tu pak krmí YAML soubory, zřejmě odkoukanými z těch webů ... to už nevím, já jsem jen občasný rekompilovač toho Rustu na méně typickou platformu, na kterou to nereleasuje originální autor ... ale třeba Vás to nasměruje.

peete

Re:Sběrač obrázků (souborů) z různých online prohlížeček
« Odpověď #9 kdy: 27. 02. 2023, 21:15:55 »
Skript v PHP, který by sek tomu dal upravit: https://github.com/lukastom/Map-Scraper

Re:Sběrač obrázků (souborů) z různých online prohlížeček
« Odpověď #10 kdy: 25. 03. 2023, 16:00:47 »
Zdravim

Podobne veci jsem uz take v minulosti resil, ale moc uspesny jsem s tim teda nebyl. V pripade knizek-dokumentu je v lepsim pripade jedna stranka jako GIF-PNG obrazek, a nebo je i kazda stranka slozena z vice obrazku-dlazdic. U jinych pripadu,nez dokumenty (napr. mapy, grafy, tabulky se symboly) je zdanlive jeden obrazek slozen z vice obrazku i vrstvenych na sobe, s ruznou pruhlednosti. A nektere soucasti celkoveho zdanlive jednoho obrazku mohou byt delsi dobu nemenne.

Napadaji me dva postupy, co s tim. Pokud vis priblizne strukturu adres a priblizne jak vypadaji jmena obrazku, tak naparsovat html stranku pomoci utilit typu grep, cut, tr, sed, gawk a dostat jmena obrazku a cele adresy, ktere stahnu. Pokud je pravidelnost v nejakem tom pojmenovani, muzu jmena-adresy hadat-dosazovat pomoci promenne a cyklu. Vysledne si stahnu vsechny obrazky, o ktere mam zajem, jenze otazka je, jak to pak slozit.

Jednotlive adresy-jmena obrazku a prvku, ze kterych je stranka slozena, mohou mit nepravidelna jmena, to i zamerne, aby nesel obsah jednoduse stahovat. Dalsi moznosti jsou tabulky s textem a symboly, nebo grafy a schemata vytvorene prez JS, jez vubec obrazky nejsou. Pak by to melo jit resit automatizovanym printscreenem stranky i se zvolenim velikosti okna, treba i 10000x10000. To je dobre napriklad na mapy - vytvoreni velkeho obrazku z mapy, ale i na ruzne grafy a tabulky. Problem je ale, kdyz ma web-dokument velky vertikalni rozsah a musi se scroolovat (to nemluvim napr. o Twitteru, tam je to jeste jinak). Nahledy stranek vytvorene prez automaticky printscreen se pak daji podle nejakeho klice automaticky oriznout.

Ulozeni stranky do jednoho souboru PDF nebo driv treba Opera delala jeden soubor ze stranek - MHT by melo byt dobre fungujicim resenim, ale velikost na disku bude vetsi, nez potreba.

Pojem Web Scrapping slysim poprve, o tom nic nevim.

Stahovace webu jako wget, httptrack, nebo ve Win teleport a jine se nedaji tak dobre zacilit na konkretni skupinu souboru (u Wget to lze resit skripotovanim) a proto mohou stahnout mnohonasobne vice souboru a dat, nez co je potreba. A tam, kde je komplikovany JV, tam stahovace webu casto nemusi uspet.