Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][js] pobieranie danych z obcej strony internetowej.
konduktor
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.02.2007

Ostrzeżenie: (0%)
-----


Witam! Czy jest możliwe napisanie skryptu który pobierał by z jakiejś strony internetowej konkretne dane. O co mi chodzi? Już mówcie na przykładzie. Czy jest możliwe napisanie skryptu który pobrałby ze strony np. Forum: php napis znajdujący się w lewym górnym rogu tj. php.pl i zapisał go do zmiennej?

Jeżeli coś takiego byłoby możliwe to prosiłbym o odpowiedź w czym trzeba coś takiego napisać i może jakieś wstępne wskazówki.

konduktor

Ten post edytował konduktor 9.02.2007, 14:11:07
Go to the top of the page
+Quote Post
lopez86
post
Post #2





Grupa: Zarejestrowani
Postów: 187
Pomógł: 0
Dołączył: 24.12.2006

Ostrzeżenie: (0%)
-----


jasne że się da , file_get_contents , przefiltruj co chcesz wyrzuć echem do zmiennej JS i robisz co chcesz z tą zmienną w JS
Go to the top of the page
+Quote Post
Mike122
post
Post #3





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 12.04.2006

Ostrzeżenie: (0%)
-----


~konduktor był taki temat na forum i sam napisałem skrypt do niego chyba nie używałeś szukaj na forum oraz google (IMG:http://forum.php.pl/style_emoticons/default/aaevil.gif) (IMG:http://forum.php.pl/style_emoticons/default/mad.gif)
Temat: preg_match, Wyciągnięcie liczby z ciągu znaków
Skrypt wystarczy trochę przerobić (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Dużo osób poleci Ci pewnie użycie cURL ale jeśli nie masz musisz użyć tego co masz czyli samego php.
Jeśli masz jakieś pytania do niego pisz odpiszę (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)

Ten post edytował Mike122 9.02.2007, 16:16:41
Go to the top of the page
+Quote Post
konduktor
post
Post #4





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.02.2007

Ostrzeżenie: (0%)
-----


A w jaki sposób można pobrać kod strony html do zmiennej? Dodam tylko, że w adresie strony są przesyłane zmienne metodą POST.
Go to the top of the page
+Quote Post
Mike122
post
Post #5





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 12.04.2006

Ostrzeżenie: (0%)
-----


~konduktor też jest na forum. Ale pewnie nie szukałeś nawet (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)
Podaje funkcje:
  1. <?php
  2. function do_post_request($url, $data, $optional_headers = null)
  3. {
  4.  $params = array('http' => array(
  5. 'method' => 'POST',
  6. 'content' => $data
  7.  ));
  8.  if ($optional_headers !== null) {
  9. $params['http']['header'] = $optional_headers;
  10.  }
  11.  $ctx = stream_context_create($params);
  12.  $fp = @fopen($url, 'rb', false, $ctx);
  13.  if (!$fp) {
  14. //throw new Exception("Problem with $url, $php_errormsg");
  15.  }
  16.  $response = @stream_get_contents($fp);
  17.  if ($response === false) {
  18. //throw new Exception("Problem reading data from $url, $php_errormsg");
  19.  }
  20.  return $response;
  21. }
  22. ?>

Dzięki tej funkcji pobierzesz wynik. Więcej:
Temat: [php] Jak przechwycic wynik formularza?
Zacznij korzystać z Google i z funkcji Szukaj na forum.
Pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)

Ten post edytował Mike122 9.02.2007, 17:35:04
Go to the top of the page
+Quote Post
konduktor
post
Post #6





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.02.2007

Ostrzeżenie: (0%)
-----


Hmm połączyłem wszystko w jedną całość, ale widzę tylko białe tło i nic więcej. Gdy daje podgląd strony widzę tylko:


Oto źródło tego dokumentu:

  1. <?php
  2. function do_post_request($url, $data, $optional_headers = null)
  3. {
  4.  $params = array('http' => array(
  5. 'method' => 'POST',
  6. 'content' => $data
  7.  ));
  8.  if ($optional_headers !== null) {
  9. $params['http']['header'] = $optional_headers;
  10.  }
  11.  $ctx = stream_context_create($params);
  12.  $fp = @fopen($url, 'rb', false, $ctx);
  13.  if (!$fp) {
  14. //throw new Exception("Problem with $url, $php_errormsg");
  15.  }
  16.  $response = @stream_get_contents($fp);
  17.  if ($response === false) {
  18. //throw new Exception("Problem reading data from $url, $php_errormsg");
  19.  }
  20.  return $response;
  21. }
  22.  
  23.  
  24.  
  25. $kodstrony = do_post_request('http://www.nautilus.org.pl/article.php', 'articlesid=923');
  26.  
  27. echo $kodstrony;
  28.  
  29.  
  30. ?>


Oryginalny adres strony to: http://www.nautilus.org.pl/article.php?articlesid=923
Go to the top of the page
+Quote Post
Mike122
post
Post #7





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 12.04.2006

Ostrzeżenie: (0%)
-----


LOL na tej stronie nie ma formularza z metodą POST nigdzie. Zacznijmy od tego.
Masz 2 opcje do wyboru:
1. Chcesz pobrać całą stronę?
2. Pobrać tylko jakąś jej część?
Bo to co Ty pisałeś to w ogóle jest co innego. Gdyż myślałem że chcesz pobrać jakieś dane wynikowe z formularza.

Ten post edytował Mike122 9.02.2007, 19:26:22
Go to the top of the page
+Quote Post
konduktor
post
Post #8





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.02.2007

Ostrzeżenie: (0%)
-----


chce pobrać całą zawartość strony (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Mike122
post
Post #9





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 12.04.2006

Ostrzeżenie: (0%)
-----


OK ~konduktor poczytaj w manualu o file_get_contents" title="Zobacz w manualu php" target="_manual.
Przykład:
  1. <?php
  2. $url = "http://www.nautilus.org.pl/article.php?articlesid=923";
  3. ?>

Jest to prosty przykład więc nie wymagaj od niego za dużo!
Do tego typu działań polecam cURL" title="Zobacz w manualu php" target="_manual.
Doczytaj w manualu o file_get_contents" title="Zobacz w manualu php" target="_manual żeby pogłębić swoją wiedzę i korzystaj z wyszukiwarek.
Ale się na męczytłem z Tobą ale mam nadziej że pomogłem.
Pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował Mike122 9.02.2007, 21:45:32
Go to the top of the page
+Quote Post
konduktor
post
Post #10





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.02.2007

Ostrzeżenie: (0%)
-----


Tak, wielkie dzięki za poświęcony czas.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 10:38