Dodaj do ulubionych

Masowe pobranie wielu plików - w jaki sposób?

19.03.17, 12:49
Szukam jakiegoś programu, rozszerzenia do przeglądarki, skryptu itp. (jak najszybszego i najlżejszego dla komputera), żeby pobrać kilkanaście tysięcy małych pliczków z tego linka i jemu podobnych:
195.113.142.114/tiles/zamrsk/us_harrachu_002_400dpi/TileGroup36/8-43-68.jpg
Parametry w tym linku zmieniają się w następujący sposób:
- cyfra 8 jest stała
- 43 zmienia się co 1 w zakresie od 0 do 80
- 68 zmienia się również co 1 od 0 do 138
81 x 139 daje 11259 plików (max. kilkanaście kB każdy)

W parametrze TileGroup też liczby się zmieniają (od 15 do 59), ale bez wyraźnie widocznej reguły. I z tym jest największy problem. Najlepszym wyjściem byłoby chyba zastąpić go gwiazdką albo jakimś innym znakiem oznaczającym dowolny zespół znaków. Ale w jakim programie? Próbowałam podać zakres liczb w tym parametrze, ale wygenerowało ponad 500 tys. linków, z czego większość pustych - pobranie tylko 1,5 tys. plików przez wget trwało 2 godziny.

Czy ktoś mógłby polecić jakiś dobry sposób?
Edytor zaawansowany
  • 19.03.17, 19:12
    Widzę, że temat pobierania kafelków do map powrócił.

    Spróbowałbym tak:
    - wypróbkować za pomocą wget obecność plików TileGroup<x>/8-0-0.jpg
    jeśli pliki będą, to wget je pobierze, jeśli nie, da odpowiedź errorlevel=1

    - jeśli zakresy i,j w TileGroup<x>/8-<i>-<j>.jpg mogą być różne dla różnych x
    wypróbkować wget TileGroup<x>/8-<i>-0.jpg dla kolejnych wartości i
    i potem analogicznie TileGroup<x>/8-0-<j>.jpg dla kolejnych j,
    by ustalić zakresy i,j dla danej mapy <x> (można zmniejszyć ilość
    potrzebnych wget jakimś algorytmem połówkowania lub startując
    od oczekiwanej wartości np. 80 i 138 i inkrementując o ± 1)

    - jeśli już wiemy, jakie pliki będziemy ściągać możemy wygenerować
    listę (lub lepiej listy dla poszczególnych x) z wykazem pobieranych adresów
    i podłożyć ją jako parametr dla programu pobierającego, przy czym tutaj
    sugerowałbym raczej użycie aria2 zamiast wget - będzie szybciej.
  • 19.03.17, 22:25
    Radzi się fajnie, ale wychodzi różnie.

    Aria2 pobrała w nieco ponad dwie minuty 256 plików z TileGroup36.
    Wszystkie mieszczą się w paśmie TileGroup36/8-<i=0,80>-<j=66-68>.jpg
    i sporadycznie j=65 oraz j=69. Inne pliki nie są dostępne na serwerze.
  • 19.03.17, 22:28
    No właśnie, a teraz wyobraź sobie, że masz do pobrania 11259 plików (a nierzadko więcej) ;)
  • 19.03.17, 23:52
    > No właśnie, a teraz wyobraź sobie, że masz do pobrania 11259 plików (a nierzadko więcej) ;)

    Ale właśnie tyle usiłowałem pobrać. Transfer tych poprawnie określonych 256 kafelków (ok. 4 MB)
    zajął może 2-5 sekund, reszta to wysyłanie pytań i analiza negatywnych odpowiedzi serwera.
    Sam plik logu z aria2 miał u mnie 37MB.

    Ale spostrzeżenie, że dla każdej grupy TileGroup występuje dużo węższy pasek dla j
    i da się go wstępnie określić, sprawia, że być może uda się zredukować listę sprawdzanych
    adresów z tych ok. 500000 do jakichś 20000, co powinno zająć tylko kilka minut.

    Sprawdzę jutro, jeśli znajdę na to trochę czasu.
    Spróbuj określić, ile kafelków w sumie mamy pobrać.
  • 20.03.17, 00:08
    Listę adresów generowałem takim skryptem xxxx.vbs
    (do uruchomiania pod Windows przez cscript)
    i podstawiałem listę do aria2/wget przez opcję -i.

    Option Explicit
    Dim objFSO
    Dim objFile
    Dim strFileName
    Dim strTilesURL
    Dim i
    Dim j
    
    strFileName = "C:\xxxx\TileGroup36.txt"
    strTilesURL = "195.113.142.114/tiles/zamrsk/us_harrachu_002_400dpi/TileGroup36"
    
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.OpenTextFile(strFileName, 2, True)
    
    for i = 0 to 80
       for j = 0 to 138
           objFile.Write strTilesURL & "/8-" & i & "-" & j & ".jpg" & vbCrLf
       next
    next
    objFile.Close
    


    Trzeba więc jeszcze oprogramować numer TileGroup i zawęzić przedział j
    powiedzmy do 5-7 wartości. Trochę odrzuci, ale to co trzeba powinno pobrać.
    A potem napisać jeszcze kawałek skryptu, który stwierdzi, czy wszystkie
    wartości dla i i j wystąpiły w nazwach plików.
  • 20.03.17, 01:04
    Taki skrypt byłby bardzo dobry. Numeracja kafelków jest ciągła, więc może dałoby się tak zrobić, żeby w momencie wyrzucenia negatywnego wyniku po prostu dodawał 1 do parametru TileGroup? Wtedy znając adres pierwszego kafelka (na mapie w lewym górnym rogu, adres url dostępny pod prawoklikiem) lub pierwszej grupy skrypt wygenerowałby listę adresów wszystkich kafelków z całej mapy.
  • 20.03.17, 01:00
    wariant_b napisał:

    > Ale właśnie tyle usiłowałem pobrać. Transfer tych poprawnie określonych 256 kaf
    > elków (ok. 4 MB)
    > zajął może 2-5 sekund, reszta to wysyłanie pytań i analiza negatywnych odpowied
    > zi serwera.
    > Sam plik logu z aria2 miał u mnie 37MB.

    Tyle, że Ty zrobiłeś dla jednej grupy. A grup jest 45. 45 x 256 = 11520, czyli mniej więcej tyle kafelków, ile podałam na samym początku. Wszystkie 11259 plików powinno zająć nieco ponad 100 MB, więc samo pobranie kafelków na dysk to pikuś.
  • 20.03.17, 09:47
    > Tyle, że Ty zrobiłeś dla jednej grupy. A grup jest 45

    No właśnie - tu widać kawałek problemu. Powinno być 46, jeśli w każdej grupie
    mają być po trzy kafelki dla kolejnych i, co w sumie powinno dawać 243 dla grupy.
    W sprawdzanej grupie jest 256 kafelków z j=66-68 i dodatkowe dla j=65 i j=69.
    Co więcej nie są to kafelki typowej wielkości, więc czeka nas jeszcze sprawdzanie
    wymiarów uzyskanych kafelków i zdublowane wartości i,j dla różnych grup.

    Wieczorem, kiedy będę przy swoim komputerze, poprawię skrypt i ściągnę całość,
    wtedy zobaczymy ile tego jest faktycznie i co robić z dublami.
  • 20.03.17, 13:24
    Nie, nie. Źle zrozumiałeś i przez to niepotrzebnie komplikujesz problem ;) Przeczytaj dokładnie mój post na końcu dyskusji, gdzie wyjaśniam strukturę kafelków. To, że w grupie TileGroup36 wyszedł Ci taki właśnie rozdział kafelków w rzędach, jest czystym przypadkiem. Spróbuję jeszcze raz wyjaśnić. Wyobraźmy sobie na początku, że nie ma parametru TileGroup. Numeracja kafelków w rzędach i kolumnach ("i" i "j") jest ciągła. Tak jak na normalnej matrycy z wymiarami x i y. Czyli mamy kafelki zgrupowane w 81 rzędach (numeracja od 0 do 80) i 139 kolumnach (numeracja od 0 do 138). W sumie 11259 kafelków. I dodatkowo co 256 kafelków (licząc je rzędami) zmienia się wartość TileGroup. W każdej grupie TileGroup jest 256 kafelków, za wyjątkiem pierwszej i ostatniej, gdzie jest ich mniej (bo, jak napisałam, zawierają też kafelki z sąsiednich poziomów powiększenia - 7 i 9).

    Wszystkie kafelki mają takie same wymiary (256 x 256 pikseli) za wyjątkiem rzędu na samym dole i skrajnej prawej kolumny, gdzie jeden z wymiarów musi być dopasowany do wymiarów skanu. Ale to nie ma znaczenia, w linkach przecież nie ma podanych wymiarów kafelków.
  • 20.03.17, 14:37
    malgorzata543 napisał(a):

    > Cz
    > yli mamy kafelki zgrupowane w 81 rzędach (numeracja od 0 do 80) i 139 kolumnach
    > (numeracja od 0 do 138).

    Drobna pomyłka, powinno być "w 81 kolumnach i 139 rzędach".
  • 20.03.17, 14:49
    Pod tym linkiem można jeszcze poczytać o strukturze kafelków w zoomify (po czesku, ale łatwo zrozumieć):
    books.google.com/books?id=CMZzOeYXF8oC&pg=PA48&lpg=PA48&dq=zoomify+struktura&source=bl&ots=gRwE19dhGJ&sig=JF6Jpt2oAOokqwvWDkQ1_BJX064&hl=pl&sa=X&ved=0ahUKEwip59GOnOXSAhWJWCYKHQMGDf8Q6AEIITAC#v=onepage&q=zoomify%20struktura&f=false
  • 20.03.17, 22:22
    No to mam zebrane kafelki i teraz pytanie, jak to przekazać?
  • 20.03.17, 22:29
    A w jaki sposób je pobrałeś? Mnie nie tyle chodziło o kafelki, co o metodę ich pobierania. Chciałabym mieć jakiś sposób w przypadku kolejnych map.
  • 20.03.17, 23:26
    No, poprawiłem ten skrypt i pobrałem. Nie wyszło wszystko, więc poprawiłem jeszcze raz i jest.
    11259 obrazków .jpg, po spakowaniu do 7zip 167 MB, luzem 171 MB.

    Jutro pokombinuję nad skryptem w cmd według twojej sugestii, bo w .vbs nie za bardzo da się
    sprawdzać wyniki errorlevel, a na razie pobieram zakres, ale jeszcze popracuję, żeby był mniejszy.
    Znaczy, dopisałem jeszcze jedną zmienną k dla TileGroup.

    Zaraz pobiorę ponownie i podam czasy dla dla łącza 50 Mb/s
  • 21.03.17, 00:45
    Jeszcze jedna poprawka, i skrypt tiles.vbs póki co wygląda tak:

    Option Explicit
    Dim objFSO
    Dim objFile
    Dim strFileName
    Dim strTilesURL
    Dim i
    Dim j
    Dim k
    Dim x
    
    
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    strTilesURL = "195.113.142.114/tiles/zamrsk/us_harrachu_002_400dpi/TileGroup"
    x = 139/44
    
    for k = 15 to 59
       strFileName = "C:\xxxx\TileGroup" & k & ".txt"
       Set objFile = objFSO.OpenTextFile(strFileName, 2, True)
    
       for i = 0 to 80
           for j = round((k-15)*x)-1 to round((k-15)*x)+4
               objFile.Write strTilesURL & k & "/8-" & i & "-" & j & ".jpg" & vbCrLf
           next
       next
       objFile.Close
    next
    


    i u mnie wykonał się w niecałe 8 minut.
    Dla lepszej kontroli pliki wrzuciłem do kartotek według TileGroup
    i pobrałem za pomocą aria2 skryptem tiles.cmd

    aria2 -d c:\xxxx\TileGroup15 -i TileGroup15.txt
    aria2 -d c:\xxxx\TileGroup16 -i TileGroup16.txt
    aria2 -d c:\xxxx\TileGroup17 -i TileGroup17.txt
    aria2 -d c:\xxxx\TileGroup18 -i TileGroup18.txt
    aria2 -d c:\xxxx\TileGroup19 -i TileGroup19.txt
    
    aria2 -d c:\xxxx\TileGroup20 -i TileGroup20.txt
    aria2 -d c:\xxxx\TileGroup21 -i TileGroup21.txt
    aria2 -d c:\xxxx\TileGroup22 -i TileGroup22.txt
    aria2 -d c:\xxxx\TileGroup23 -i TileGroup23.txt
    aria2 -d c:\xxxx\TileGroup24 -i TileGroup24.txt
    aria2 -d c:\xxxx\TileGroup25 -i TileGroup25.txt
    aria2 -d c:\xxxx\TileGroup26 -i TileGroup26.txt
    aria2 -d c:\xxxx\TileGroup27 -i TileGroup27.txt
    aria2 -d c:\xxxx\TileGroup28 -i TileGroup28.txt
    aria2 -d c:\xxxx\TileGroup29 -i TileGroup29.txt
    
    aria2 -d c:\xxxx\TileGroup30 -i TileGroup30.txt
    aria2 -d c:\xxxx\TileGroup31 -i TileGroup31.txt
    aria2 -d c:\xxxx\TileGroup32 -i TileGroup32.txt
    aria2 -d c:\xxxx\TileGroup33 -i TileGroup33.txt
    aria2 -d c:\xxxx\TileGroup34 -i TileGroup34.txt
    aria2 -d c:\xxxx\TileGroup35 -i TileGroup35.txt
    aria2 -d c:\xxxx\TileGroup36 -i TileGroup36.txt
    aria2 -d c:\xxxx\TileGroup37 -i TileGroup37.txt
    aria2 -d c:\xxxx\TileGroup38 -i TileGroup38.txt
    aria2 -d c:\xxxx\TileGroup39 -i TileGroup39.txt
    
    aria2 -d c:\xxxx\TileGroup40 -i TileGroup40.txt
    aria2 -d c:\xxxx\TileGroup41 -i TileGroup41.txt
    aria2 -d c:\xxxx\TileGroup42 -i TileGroup42.txt
    aria2 -d c:\xxxx\TileGroup43 -i TileGroup43.txt
    aria2 -d c:\xxxx\TileGroup44 -i TileGroup44.txt
    aria2 -d c:\xxxx\TileGroup45 -i TileGroup45.txt
    aria2 -d c:\xxxx\TileGroup46 -i TileGroup46.txt
    aria2 -d c:\xxxx\TileGroup47 -i TileGroup47.txt
    aria2 -d c:\xxxx\TileGroup48 -i TileGroup48.txt
    aria2 -d c:\xxxx\TileGroup49 -i TileGroup49.txt
    
    aria2 -d c:\xxxx\TileGroup50 -i TileGroup50.txt
    aria2 -d c:\xxxx\TileGroup51 -i TileGroup51.txt
    aria2 -d c:\xxxx\TileGroup52 -i TileGroup52.txt
    aria2 -d c:\xxxx\TileGroup53 -i TileGroup53.txt
    aria2 -d c:\xxxx\TileGroup54 -i TileGroup54.txt
    aria2 -d c:\xxxx\TileGroup55 -i TileGroup55.txt
    aria2 -d c:\xxxx\TileGroup56 -i TileGroup56.txt
    aria2 -d c:\xxxx\TileGroup57 -i TileGroup57.txt
    aria2 -d c:\xxxx\TileGroup58 -i TileGroup58.txt
    aria2 -d c:\xxxx\TileGroup59 -i TileGroup59.txt
    

  • 21.03.17, 00:51
    8 minut to bardzo dobry czas. Tylko czy nie dałoby się przerobić skrypt na bardziej uniwersalny (dla wszystkich map w zoomify)? Z tego co widzę po parametrach, przy żadnej innej mapie go nie wykorzystam.
  • 21.03.17, 00:45
    Byłabym bardzo wdzięczna za podzielenie się skryptem. Kafelki mogłabym sama pobrać. Przy okazji przetestowałabym go na tym samym przykładzie.

    Skrypt dezoomify wykorzystuje wielowątkowe pobieranie. Nie wiem, czy w tym skrypcie też dałoby się w ten sposób przyśpieszyć pobieranie kafelków.
  • 21.03.17, 07:46
    malgorzata543 napisał(a):
    > Byłabym bardzo wdzięczna za podzielenie się skryptem.

    Zdaje się, że wpadliśmy równocześnie na ten sam pomysł.
    Więc możesz sobie oba skrypty wypreparować z postu i uruchomić.
    Można z wcześniejszego skryptu dla TileGroup36 wypreparować
    wspólną dla wszystkich TileGroups wartość objFile zamiast
    oddzielnych plików, co zrobiłem, żeby mieć lepszą kontrolę,
    czy faktycznie pobierane jest 256 kafelków w ramach grupy.

    > Skrypt dezoomify wykorzystuje wielowątkowe pobieranie.

    Dlatego też używałem aria2 zamiast wget.
    Jeśli w skrypcie .cmd podmienisz aria2 na wget będziesz mogła
    oszacować, jaka jest różnica w prędkości.

    > Tylko czy nie dałoby się przerobić skrypt na bardziej uniwersalny

    Pewnie tak, ale to ty musiałabyś opracować założenia do programu.
    W przypadku tej czeskiej witryny dla innych map wystarczy kilka
    drobnych poprawek w tekście skryptu, co per saldo będzie rozwiązaniem
    szybszym, niż napisanie i przetestowanie bardziej uniwersalnego programu.

    > Z tego co widzę po parametrach, przy żadnej innej mapie go nie wykorzystam.

    Zmienisz w tekście skryptu stałą część adresu URL w zmiennej strTilesURL
    oraz zmienne k,i,j określające numerację grup, kolumn i wierszy
    i powinno pasować dla innych map z tego serwera.

    Przy okazji - przydałoby się zmienić również nazwy pozyskanych kafelków
    na bardziej czytelne dla człowieka, czyli dodać zera prowadzące
    w numerach kolumn i wierszy. Kiedyś sprawdzałem do tego celu
    program siren ( www.scarabee-software.net/en/siren.html )
  • 21.03.17, 16:35
    Wieczorem pobawię się tym skryptem.

    W międzyczasie znalazłam coś innego:
    tools.wmflabs.org/zoomable-images/zoomify.php?width=20493&height=35426&action=Submit&zoom=8&path=http%3A%2F%2Fchartae-antiquae.cz%2Fen%2Fmaps%2F54182%2F


    Potem tylko wyjąć adresy kafelków z pamięci podręcznej przeglądarki, podmienić pierwszą część adresów na właściwą i po sprawie.

    Nie wiem jednak, czy będzie to działać na wszystkich stronach z zoomify.

    Nadal bardzo by mnie interesował program lub inne narzędzie do masowego pobierania plików z wykorzystaniem symboli wieloznacznych (czyli zastępując gwiazdką lub innym symbolem fragment adresu url). Byłoby to bardzo przydatne przy mapach z nieco inną numeracją kafelków, gdzie standardowe narzędzia dezoomify zawodzą (np. gdzie zamiast numerów wierszy i kolumn są współrzędne geograficzne albo jakieś inne). Twoim skryptem zapewne też wtedy nie pobiorę. Pytanie, czy jest coś takiego?

    Ciekawe, że we wtyczce DownThemAll! gdy zastępuje się parametr "TileGroupX" gwiazdką to przy jednych mapach zoomify to działa (tzn. pobiera poprawnie wszystkie kafelki), a przy innych nie (tzn. generuje prawidłową liczbę adresów url, w tym przypadku 11259, ale z gwiazdką zamiast "TileGroupX" i daje komunikat, że pliku nie znaleziono).
  • 21.03.17, 21:08
    > Potem tylko wyjąć adresy kafelków z pamięci podręcznej przeglądarki,
    > podmienić pierwszą część adresów na właściwą i po sprawie.

    Takoż zrobiłem - zapisałem źródło strony w przeglądarce do pliku .htm
    podmieniłem początki adresów, wyświetliłem podmienioną stronę z pełną mapą
    i zapisałem do pliku. W kartotece z elementami strony mam wszystkie kafelki.
    Szczególnie szybko to nie było.

    > Nadal bardzo by mnie interesował program lub inne narzędzie do masowego
    > pobierania plików z wykorzystaniem symboli wieloznacznych (czyli zastępując
    > gwiazdką lub innym symbolem fragment adresu url).

    Ale niestety nie mamy uprawnień do przeglądania folderów na serwerze
    i musimy trafić z adresem pliku w możliwie niewielkiej liczbie prób.
  • 21.03.17, 23:07
    wariant_b napisał:

    > Szczególnie szybko to nie było.

    I już widzę, że nie działa dla wszystkich map w zoomify.

    Spróbowałam uruchomić Twój skrypt. I niestety wyrzuca mi komunikat, że "nie można znaleźć aparatu skryptów VBScript dla skryptu". Szukałam w Google, ale możliwych przyczyn jest wiele. Najczęściej jest mowa o jakichś pozostałościach McAfee, ale nigdy nie miałam zainstalowanego tego antywirusa. Może potrafiłbyś wskazać przyczynę albo jakiś inny sposób uruchomienia skryptu? System to Windows Vista.

    Co do założeń do uniwersalnego skryptu pobierającego kafelki, to myślałam o czymś takim: Po podaniu pierwszej grupy TileGroup skrypt pobierałby kolejno 256 kafelków. W momencie, gdy natrafi na pusty link, zmienia wartość TileGroup na o 1 większą i również pobiera 256 kafelków, zachowując ciągłość x i y z poprzednimi kafelkami. I tak do końca mapy w danym powiększeniu. Być może lepiej, żeby to była wartość 257 kafelków, a nie 256 - wtedy pod koniec każdej grupy zachowanie skryptu byłoby takie same. To są takie moje dywagacje - założenia wydają się proste, ale kompletnie nie znam się na pisaniu skryptów.
  • 19.03.17, 22:25
    Bardzo dziękuję za odpowiedź. Nie wiem, czy dobrze zrozumiałam Twoją radę. Jeśli miałeś na myśli sprawdzanie po kolei wszystkich wartości z trzech parametrów, to byłoby z tym full roboty. Zwłaszcza że wystąpią tu kombinacje między parametrami. Znalazłam chyba lepszy sposób.

    Struktura kafelków jest taka:

    195.113.142.114/tiles/zamrsk/us_harrachu_002_400dpi/TileGroup15/8-0-0.jpg
    195.113.142.114/tiles/zamrsk/us_harrachu_002_400dpi/TileGroup15/8-1-0.jpg
    195.113.142.114/tiles/zamrsk/us_harrachu_002_400dpi/TileGroup15/8-2-0.jpg
    ...
    195.113.142.114/tiles/zamrsk/us_harrachu_002_400dpi/TileGroup15/8-61-2.jpg
    195.113.142.114/tiles/zamrsk/us_harrachu_002_400dpi/TileGroup16/8-62-2.jpg
    ...
    195.113.142.114/tiles/zamrsk/us_harrachu_002_400dpi/TileGroup16/8-74-5.jpg
    195.113.142.114/tiles/zamrsk/us_harrachu_002_400dpi/TileGroup17/8-75-5.jpg
    ...
    195.113.142.114/tiles/zamrsk/us_harrachu_002_400dpi/TileGroup17/8-6-9.jpg
    195.113.142.114/tiles/zamrsk/us_harrachu_002_400dpi/TileGroup18/8-7-9.jpg
    ...

    Wcześniej na to nie wpadałam. Widać, że w każdej grupie TileGroup jest po 256 kolejnych kafelków (za wyjątkiem pierwszej i ostatniej, które zwykle zawierają też kafelki z sąsiednich poziomów powiększenia). Wiedząc to i znając liczbę kafelków w rzędach można wskazać, w którym momencie należy zmienić wartość TileGroup. Potem już można pobrać kafelki wtyczką DownThemAll! do Firefoxa (za polecenie aria2 też dziękuję - wypróbuję to).

    Nadal jednak interesuje mnie usprawnienie sposobu pobierania kafelków. Na pewno musi być jakiś sposób na pobranie wszystkich kafelków za jednym zamachem, o czym świadczy istnienie różnych skryptów dezoomify, które to robią. Tutaj jeden z nich, który najczęściej używam: sourceforge.net/projects/dezoomify/
    O ile z pobraniem map w maksymalnym powiększeniu radzi sobie znakomicie, o tyle w przypadku innych, mniejszych powiększeń (jak w tym przypadku) jest z tym zawsze problem. Dla poszczególnych parametrów <i> i <j> wskazuje nieprawidłowe wartości TileGroup i przez to nic nie pobiera. Nie wiem dlaczego, nie znam się na pythonie. Może Ty potrafiłbyś wskazać gdzie leży błąd w skrypcie i znaleźć jakiś sposób na szybkie pobranie wszystkich kafelków za jednym razem? Czasem zdarzają się strony, gdzie ten skrypt nie działa, w związku z czym przydałaby mi się jakaś alternatywna, uniwersalna metoda.

    Podrzucam jeszcze link do mapy, która posłużyła za przykład: chartae-antiquae.cz/en/maps/54182
  • 20.03.17, 13:46
    Osobiście korzystam z darmowego programu wget.
    Niestety obsługiwany tylko z linii komend, ale za to można podać jako parametr spis plików do ściągnięcia w postaci pliku tekstowego.

Popularne wątki

Nie pamiętasz hasła lub ?

Zapamiętaj mnie

Nie masz jeszcze konta? Zarejestruj się

Nakarm Pajacyka
Agora S.A. - wydawca portalu Gazeta.pl nie ponosi odpowiedzialności za treść wypowiedzi zamieszczanych przez użytkowników Forum. Osoby zamieszczające wypowiedzi naruszające prawo lub prawem chronione dobra osób trzecich mogą ponieść z tego tytułu odpowiedzialność karną lub cywilną. Regulamin.