JavaScript - przechwycenie urls

0

Witajcie,

Z ciężkim sercem piszę, bo nie wiem czy ktoś mi pomoże.

Otóż jest serwer https://www.geoportal.lt/map/ . Na tym serwerze są mapy, które mogę wybrać przez search. Wtedy pojawia się lista i klawisz przy każdej mapie do ściągnięcia, a pod tym klawiszem url.

Czy można przechwycić całą listę url wszystkich map, które wybiorę ? Do html, wtedy łatwo mi je przechwycić i ściągnąć jak mam a href="http

Jest tego wtedy kilka tysięcy.

Próbowałem to przechwycić w inny sposób, ale bez rezultatu.

Dodam, że jestem zielony w js.

Pozdrawiam,

Raf

1

Otóż jest serwer https://www.geoportal.lt/map/.

Faktycznie jest.

Na tym serwerze są mapy.

Tak, widzę mapę.

które mogę wybrać przez search.

Wybrać przez search? Nie wiem o co chodzi.

Wtedy pojawia się lista i klawisz przy każdej mapie do ściągnięcia, a pod tym klawiszem url.

Jako, że padłem przy poprzednim kroku nie wiem o jaką listę chodzi, o jaki klawisz i url.

Programiści to prości ludzie i trzeba im tłumaczyć bardzo dokładnie, czasami nawet mogą pomóc zrzuty ekranu z dokładnie zaznaczonymi krokami.

0

Wybrać przez search? Nie wiem o co chodzi.

Wtedy pojawia się lista i klawisz przy każdej mapie do ściągnięcia, a pod tym klawiszem url.

Jako, że padłem przy poprzednim kroku nie wiem o jaką listę chodzi, o jaki klawisz i url.

Programiści to prości ludzie i trzeba im tłumaczyć bardzo dokładnie, czasami nawet mogą pomóc zrzuty ekranu z dokładnie zaznaczonymi krokami.

Bardzo proszę.

Kliknij lupkę koło paska Search, wtedy zobaczysz listę map poniżej. Potem można to wyszukiwanie zawężać, ale pokaże Ci to o co chodzi.

Kiedy klikniesz lupkę, to na liście poniżej będzie lista map topograficznych - skanów. I te skany można ściągać, o nie właśnie chodzi. Każdy ten skan ma swój własny url.

Wiem, że wszystko po litewsku, ale tyle co się przegryzę, to wiem :)

1

Url jest budowany ze stałych elementów:

i ze stringów, które masz wyszczególnione przy każdej pozycji:

  • KS-1942
  • 25000
  • N-35-2-A-v(1950)

Zostaje skopiować te nazwy/opisy, a później obrobić programowo albo ew. w Excellu.

0
Freja Draco napisał(a):

Url jest budowany ze stałych elementów:

i ze stringów, które masz wyszczególnione przy każdej pozycji:

  • KS-1942
  • 25000
  • N-35-2-A-v(1950)

Zostaje skopiować te nazwy/opisy, a później obrobić programowo albo ew. w Excellu.

Nic z tego. Już na to wpadłem :)

U wielu plików nazwa się różni tutaj w okienku search i w nazwie url. Czasem dodany jest myślnik, np. N-35-2--A-v(1950)

Już tak kombinowałem i w ten sposób ściągnąłem ok 60 % plików.

2

Nie da się nasłuchiwać w JavaScript eventu pobierania i go przerywać, gdyby się dało można by było zrobić np.

document.getElementById('ext-gen245').click();

setTimeout(() => {
	const buttons = document.querySelectorAll('#fund .data-search-item .meniuPartMyServiceObjZip');
	buttons.forEach(button => {
		button.click();
	});
}, 1000);

żeby pobierało te pliki automatycznie.

Ale skoro chcesz URL a nie same pliki, to nie widzę innej metody jak tworzenie nazwy pliku na podstawie nazw podanych w tabeli w pierwszym pierwszu, skoro nazwy się trochę różnią to zamiast 1000 żądań zrobisz 10000 - ale pobierzesz wszystkie (po kilku próbach znajdziesz wszystkie kombinacje nazywania plików *.zip).

0
Markuz napisał(a):

Nie da się nasłuchiwać w JavaScript eventu pobierania i go przerywać, gdyby się dało można by było zrobić np.

document.getElementById('ext-gen245').click();

setTimeout(() => {
	const buttons = document.querySelectorAll('#fund .data-search-item .meniuPartMyServiceObjZip');
	buttons.forEach(button => {
		button.click();
	});
}, 1000);

żeby pobierało te pliki automatycznie.

Ale skoro chcesz URL a nie same pliki, to nie widzę innej metody jak tworzenie nazwy pliku na podstawie nazw podanych w tabeli w pierwszym pierwszu, skoro nazwy się trochę różnią to zamiast 1000 żądań zrobisz 10000 - ale pobierzesz wszystkie (po kilku próbach znajdziesz wszystkie kombinacje nazywania plików *.zip).

Zaraz, zaraz, mnie chodzi właśnie o pliki.

Teraz ja poproszę łopatologicznie: jak ten skrypt odpalić ?

1

Trzeba otworzyć konsolę przeglądarki (w chrome jest to Ctrl + Shift + I), wkleić go do zakładki Console i nacisnąć enter. Ale ten skrypt pobierze tylko pliki z pierwszej strony bo nie dopisałem obsługi przejścia na kolejne strony.

W sumie to znalazłem sposób na dostanie się do linków, jak wpłacisz 50 zł na np. https://www.siepomaga.pl/ (wstaw link do wybranej przez Ciebie zbiórki i daj jakiś podpis żebym wiedział, że to Ty) - to Ci dam linki w pliku tekstowym. Możesz mnie też przekonać, jeżeli robisz to w celu społecznym, wtedy dam Ci listę za darmo.

0
Markuz napisał(a):

Trzeba otworzyć konsolę przeglądarki (w chrome jest to Ctrl + Shift + I), wkleić go do zakładki Console i nacisnąć enter. Ale ten skrypt pobierze tylko pliki z pierwszej strony bo nie dopisałem obsługi przejścia na kolejne strony.

W sumie to znalazłem sposób na dostanie się do linków, jak wpłacisz 50 zł na np. https://www.siepomaga.pl/ (wstaw link do wybranej przez Ciebie zbiórki i daj jakiś podpis żebym wiedział, że to Ty) - to Ci dam linki w pliku tekstowym. Możesz mnie też przekonać, jeżeli robisz to w celu społecznym, wtedy dam Ci listę za darmo.

Nic nie szkodzi ! Im prościej, tym lepiej. Ale ten skrypt ściąga tylko ostatni plik z listy na stronie ?

A 50zł na Siepomaga i tak mogę dać :)

Jestem po prostu fanem kolekcjonowania map/skanów map topograficznych z różnych krajów europejskich.

Ten skrypt byłby lepszy, bo wyniki wyszukiwania muszę zawężać dla różnych rejonów (jest limit w wyniku Search do 1000 map). Już sobie mogę strony przestawiać, nie ma problemu.

1

Kasia właśnie dostała 50 zł.

https://www.siepomaga.pl/kasia

RafJon

0

No i co ?

0

Brawa za reakcję.

No trudno. Nie muszę mieć wszystkiego.

0

AutoHotkey powinno pomóc :)

Prosto i jak najprościej.

AHK i trochę kombinejszn i powinno grać :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1