Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[PROBLEM][WINHTTP] Otwieranie wyników na PanoramaFirm


Rekomendowane odpowiedzi

Opublikowano

Witam.
Na potrzeby projektu potrzebuję zmienić stronę źródła danych na http://panoramafirm.pl

O
ile nie ma problemu z pobraniem 1 strony wyszukiwania to nie mogę za
nic ogarnąć gdzie wpiąć kod odpowiedzialny za wyświetlenie kolejnych
wyników.

Poniżej fragment kodu odpowiedzialny za pobieranie źródła...

 

#include "WinHttp.au3"





Global $server = "panoramafirm.pl"


Local $hSession = _WinHttpOpen("User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0")
Local $hConnect = _WinHttpConnect($hSession, $server)
$zapytanie = _WinHttpOpenRequest($hConnect, "GET", "/szukaj?k=&l=dolno%C5%9Bl%C4%85skie+wa%C5%82brzyski+Wa%C5%82brzych")

_WinHttpAddRequestHeaders($zapytanie, "Accept: application/json, text/javascript, */*; q=0.01")
_WinHttpAddRequestHeaders($zapytanie, "Accept-Language: pl,en-us;q=0.7,en;q=0.3")
_WinHttpAddRequestHeaders($zapytanie,
"Referer:
http://panoramafirm.pl/szukaj/dolno%C5%9Bl%C4%85skie,wa%C5%82brzyski,wa%C5%82brzych")
_WinHttpAddRequestHeaders($zapytanie, "Content-Type: text/html")
_WinHttpAddRequestHeaders($zapytanie, "Connection: keep-alive")
_WinHttpSendRequest($zapytanie, Default,  "http://panoramafirm.pl/szukaj/dolno%C5%9Bl%C4%85skie,wa%C5%82brzyski,wa%C5%82brzych")
_WinHttpReceiveResponse($zapytanie)


Local $data = ""

Do
$data &= _WinHttpReadData($zapytanie, 0)
Until @error
FileWrite("x.html",$data&@CRLF)[/autoit]

 

 

 

 

Kod odpowiedzialny za wyświetlenie kolejnych wyników to

 

"POST","/con/ajax/search what=&location=dolno%C5%9Bl%C4%85skie%2Cwa%C5%82brzyski%2CWa%C5%82brzych&category=null&sort=null&count=25&offset=50&searchType=ALGORITHM&crossEnabled=false&kitchen=null&openNow=null&pictureReq=null&forceAlgorithm=true&allegro=null&disableNameAndOfferCount=true&groupBy=VOIV%7CCITY%7CDISTRICT%7CCITY_RESTRICTED_VOIV%7CKITCHEN%7CEXTRA_INFORMATIONS&close=false&snippet=yellow
 
 
 

 

 


 


Dodam, że ta część kodu:

 

 

"POST","/con/ajax/search what=&location=dolno%C5%9Bl%C4%85skie%2Cwa%C5%82brzyski%2CWa%C5%82brzych&category=null&sort=null&count=25&offset=50&searchType=ALGORITHM&crossEnabled=false&kitchen=null&openNow=null&pictureReq=null&forceAlgorithm=true&allegro=null&disableNameAndOfferCount=true&groupBy=VOIV%7CCITY%7CDISTRICT%7CCITY_RESTRICTED_VOIV%7CKITCHEN%7CEXTRA_INFORMATIONS&close=false&snippet=yellow

 

 


jest w javascript jeśli dobrze przeanalizowałem źródło strony lub ajax jak wsazuje odnośnik.
Tym samym nasuwa się pytanie - jak korzystać z JS/ajaxa w połączeniu z WinHttp? Czy to w ogóle jest możliwe?
Bardzo proszę o wskazówki, jak dopisać dalszą część kodu, by ten pobierał kolejne wyniki?

Z wyrazami szacunku,
Paweł.

Najsłabszym ogniwem w każdym zabezpieczeniu jest człowiek - socjotechnika.

Czasem najprostsze rozwiązania najtrudniej odnaleźć.

Nie zawsze inni są takimi, na jakich się kreują.

Ilu ludzi tyle opinii na temat otaczającego nas Świata.

Nie pomagam poza forum.

Opublikowano

 

what=&location=dolno%C5%9Bl%C4%85skie%2Cg%C5%82ogowski%2CG%C5%82og%C3%B3w&category=null&sort=null&count=25&offset=50&searchType=ALGORITHM&crossEnabled=false&kitchen=null&openNow=null&pictureReq=null&forceAlgorithm=true&allegro=null&disableNameAndOfferCount=true&groupBy=VOIV%7CCITY%7CDISTRICT%7CCITY_RESTRICTED_VOIV%7CKITCHEN%7CEXTRA_INFORMATIONS&close=false&snippet=yellow


what=&location=dolno%C5%9Bl%C4%85skie%2Cg%C5%82ogowski%2CG%C5%82og%C3%B3w&category=null&sort=null&count=25&offset=75&searchType=ALGORITHM&crossEnabled=false&kitchen=null&openNow=null&pictureReq=null&forceAlgorithm=true&allegro=null&disableNameAndOfferCount=true&groupBy=VOIV%7CCITY%7CDISTRICT%7CCITY_RESTRICTED_VOIV%7CKITCHEN%7CEXTRA_INFORMATIONS&close=false&snippet=yellow
 

różnią się offsetem, startując od 50 co 25 jest zwiększane, nie rozumiem za bardzo problemu

Opublikowano

To oczywiście zauważyłem, jednak chodziło mi o to, gdzie wykorzystać ten kod, aby program / skrypt napisany w AutoIT pobierał więcej niż pierwsze 25 wyników.

Reasumując - w miarę możliwości proszę o podanie wskazówek / przykładu, jak to zrobić :)

Najsłabszym ogniwem w każdym zabezpieczeniu jest człowiek - socjotechnika.

Czasem najprostsze rozwiązania najtrudniej odnaleźć.

Nie zawsze inni są takimi, na jakich się kreują.

Ilu ludzi tyle opinii na temat otaczającego nas Świata.

Nie pomagam poza forum.

Opublikowano

 

zrób w pętli for zapytania i dodawaj do siebie date z nich

przykład pętli która dodaje co 25

 

 

for $i = 50 to 100 step +25
next
 

Hmm...chyba nie do końca odczytałeś o co mi chodziło...nie ma problemu z pobieraniem pierwszej strony, jednak nie mam pojęcia jak wpleść w kod programu ten kod JS, który podałem na początku....w przypadku kiedy próbuje wpisać to na zasadzie przedstawionego prze zemnie przykłady otrzymuję plik o wielkości 0 KB.

Mam nadzieję, że teraz już napisałem to maksymalnie zrozumiale :)

Podsumujmy - bardzo proszę o podanie sposobu na UMIESZCZENIE kodu z pierwszego posta , aby działał poprawnie.

 

Z góry dzięki za odpowiedzi.

Pozdrawiam ;-)

Najsłabszym ogniwem w każdym zabezpieczeniu jest człowiek - socjotechnika.

Czasem najprostsze rozwiązania najtrudniej odnaleźć.

Nie zawsze inni są takimi, na jakich się kreują.

Ilu ludzi tyle opinii na temat otaczającego nas Świata.

Nie pomagam poza forum.

Opublikowano


#include "WinHttp.au3"

Global $server = "panoramafirm.pl"

Local $hSession = _WinHttpOpen("User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0")

Local $hConnect = _WinHttpConnect($hSession, $server)

$zapytanie = _WinHttpOpenRequest($hConnect, "GET", "/szukaj?k=&l=dolno%C5%9Bl%C4%85skie+wa%C5%82brzyski+Wa%C5%82brzych")

_WinHttpAddRequestHeaders($zapytanie, "Accept: application/json, text/javascript, */*; q=0.01")

_WinHttpAddRequestHeaders($zapytanie, "Accept-Language: pl,en-us;q=0.7,en;q=0.3")

_WinHttpAddRequestHeaders($zapytanie,"Referer: http://panoramafirm.pl/szukaj/dolno%C5%9Bl%C4%85skie,wa%C5%82brzyski,wa%C5%82brzych")

_WinHttpAddRequestHeaders($zapytanie, "Content-Type: text/html")

_WinHttpAddRequestHeaders($zapytanie, "Connection: keep-alive")

_WinHttpSendRequest($zapytanie)

_WinHttpReceiveResponse($zapytanie)

Local $data = ""

Do

$data &= _WinHttpReadData($zapytanie, 0)

Until @error

 

 

for $i = 50 to 200 step +25

Local $hConnect = _WinHttpConnect($hSession, $server)

$zapytanie = _WinHttpOpenRequest($hConnect, "POST", "/con/ajax/search")

_WinHttpAddRequestHeaders($zapytanie, "Accept: application/json, text/javascript, */*; q=0.01")

_WinHttpAddRequestHeaders($zapytanie, "Accept-Language: pl,en-us;q=0.7,en;q=0.3")

_WinHttpAddRequestHeaders($zapytanie,"Referer: http://panoramafirm.pl/szukaj/dolno%C5%9Bl%C4%85skie,wa%C5%82brzyski,wa%C5%82brzych")

_WinHttpAddRequestHeaders($zapytanie, "Content-Type: application/x-www-form-urlencoded; charset=UTF-8")

_WinHttpAddRequestHeaders($zapytanie, "Connection: keep-alive")

_WinHttpAddRequestHeaders($zapytanie, "X-Requested-With: XMLHttpRequest")

_WinHttpSendRequest($zapytanie, Default,"what=&location=dolno%C5%9Bl%C4%85skie+wa%C5%82brzyski+Wa%C5%82brzych%2CG%C5%82og%C3%B3w&category=null&sort=null&count=25&offset=" & $i & "&searchType=ALGORITHM&crossEnabled=false&kitchen=null&openNow=null&pictureReq=null&forceAlgorithm=true&allegro=null&disableNameAndOfferCount=true&groupBy=VOIV%7CCITY%7CDISTRICT%7CCITY_RESTRICTED_VOIV%7CKITCHEN%7CEXTRA_INFORMATIONS&close=false&snippet=yellow")

;what=&location=dolno%C5%9Bl%C4%85skie%2Cwa%C5%82brzyski%2CWa%C5%82brzych&category=null&sort=null&count=25&offset=50&searchType=ALGORITHM&crossEnabled=false&kitchen=null&openNow=null&pictureReq=null&forceAlgorithm=true&allegro=null&disableNameAndOfferCount=true&groupBy=VOIV%7CCITY%7CDISTRICT%7CCITY_RESTRICTED_VOIV%7CKITCHEN%7CEXTRA_INFORMATIONS&close=false&snippet=yellow

;what=&location=dolno%C5%9Bl%C4%85skie%2Cwa%C5%82brzyski%2CWa%C5%82brzych&category=null&sort=null&count=25&offset=75&searchType=ALGORITHM&crossEnabled=false&kitchen=null&openNow=null&pictureReq=null&forceAlgorithm=true&allegro=null&disableNameAndOfferCount=true&groupBy=VOIV%7CCITY%7CDISTRICT%7CCITY_RESTRICTED_VOIV%7CKITCHEN%7CEXTRA_INFORMATIONS&close=false&snippet=yellow

;what=&location=dolno%C5%9Bl%C4%85skie%2Cwa%C5%82brzyski%2CWa%C5%82brzych&category=null&sort=null&count=25&offset=100&searchType=ALGORITHM&crossEnabled=false&kitchen=null&openNow=null&pictureReq=null&forceAlgorithm=true&allegro=null&disableNameAndOfferCount=true&groupBy=VOIV%7CCITY%7CDISTRICT%7CCITY_RESTRICTED_VOIV%7CKITCHEN%7CEXTRA_INFORMATIONS&close=false&snippet=yellow

_WinHttpReceiveResponse($zapytanie)

Do

$data &= _WinHttpReadData($zapytanie, 0)

Until @error

next

FileWrite("x.html",$data)

Opublikowano

Super. Wszystko działa jak należy :) Wielkie dzięki za pomoc :)

Najsłabszym ogniwem w każdym zabezpieczeniu jest człowiek - socjotechnika.

Czasem najprostsze rozwiązania najtrudniej odnaleźć.

Nie zawsze inni są takimi, na jakich się kreują.

Ilu ludzi tyle opinii na temat otaczającego nas Świata.

Nie pomagam poza forum.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...