Pobieranie treści ze strony wczytywanych przez JS

0

Cześć,

Skrypt ma pobrać np: http://getionary.pl/szukaj.html?q=affidavit

ale strona zwraca puste wyniki.

Trochę poczytałem i za pomocą narzędzi w przeglądarce znalazłem stronę, do której przesyłane są zapytania i próbowałem tak:

http://getionary.pl/action/search.act.php?query=affidavit&direction=en-pl&limit=30

Bez skutku. Nie wiem, co jeszcze i jeśli w ogólę mogę coś zrobić.

Z góry mówię, że mało wiem o programowaniu i jeszcze mniej o tzw. "scrapingu". Nie mam złych zamiarów, buduje sobie stronę do ułatwienia sobie pracy z tłumaczeniami.

Pozdr

0

Nie wdając się w niczyje zamiary i ew. kwestie legalności, problemem jest sposób formułowania przez Ciebie żądania. Z tego co widzę to żądanie powinno być wykonane przy pomocy metody POST, a parametry przesłane jako jego treść. Prosty przykład za pomocą cURLa:

 curl -XPOST 'http://getionary.pl/action/search.act.php' -H 'Content-Type: application/x-www-form-urlencoded' --data 'query=affidavit&direction=en-pl&limit=30'

zwraca odpowiedź:

 <results><group0><count>1</count><pcount>0</pcount><sources><source><word> &lt;strong&gt; affidavit &lt;/strong&gt; </word><description></description><translation>oświadczenie pod przysięgą</translation><dbid>GC1</dbid><category>0</category><dict>GET IT Business English</dict><symbol>GBE</symbol></source></sources><phrases></phrases></group0><group1><count>0</count><pcount>2</pcount><sources></sources><phrases><phrase><text> &lt;strong&gt; affidavit &lt;/strong&gt;  evidence</text><description></description><translation>dowody w postaci oświadczeń pod przysięgą</translation><dbid>GC1</dbid><category>0</category><dict>GET IT Business English</dict><symbol>GBE</symbol></phrase><phrase><text>application supported by  &lt;strong&gt; affidavit &lt;/strong&gt;  evidence...</text><description></description><translation>wniosek wsparty dowodami w postaci oświadczeń pod przysięgą...</translation><dbid>GC1</dbid><category>0</category><dict>GET IT Business English</dict><symbol>GBE</symbol></phrase></phrases></group1><group2><count>0</count><pcount>0</pcount><sources></sources><phrases></phrases></group2><group3><count>0</count><pcount>0</pcount><sources></sources><phrases></phrases></group3><group4><count>0</count><pcount>0</pcount><sources></sources><phrases></phrases></group4><group5><count>0</count><pcount>0</pcount><sources></sources><phrases></phrases></group5></results>
0

Dziękuję.

Może komuś się przyda.

$post = 'query=affidavit&direction=en-pl&limit=30';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://getionary.pl/action/search.act.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$server_output = curl_exec ($ch);

curl_close ($ch);

var_dump($server_output);
```php

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