![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 20.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie,
chciałbym się dowiedzieć w jaki sposób najłatwiej pobrać konkretnego div-a z innej strony. Problem wygląda następująco, że na pewnej stronie po adresem http://strona/tabela umieszczane są tabele (dwa razy w tygodniu). Chciałbym na własnej stronie umieszczać te tabele z automatu. Jest to tabela 7 kolumn 10 wierszy. Czy da się, aby na mojej stronie był skrypt wyświetlający ten element z automatu? Pobierał nie całą stroną jako iframe tylko konkretnego <diva> ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
A nie lepiej pobierać raz w tygodniu całą stronę, przeparsować ją i wyświetlić u siebie?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 20.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Może być? Pytanie-->Jak to zrobić?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 459 Pomógł: 26 Dołączył: 1.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Może być? Pytanie-->Jak to zrobić? CURL, zainteresuj sie tym. Ten post edytował djgarsi 4.08.2012, 16:27:52 -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
CURL, zainteresuj sie tym. Albo prościej file_get_contents i preg_match Ten post edytował !*! 4.08.2012, 16:38:21 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 486 Pomógł: 101 Dołączył: 27.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie ten dział --> Gotowe rozwiązania. on nie prosi o gotowe rozwiązanie tylko pyta się jak to zrobić, co może oznaczać prośbę o wytłumaczenie mechaniki skryptu
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 20.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Napisałem coś takiego...jednak nie zwraca mi diva...nie daje żadnego efektu.
Kod <?php
$url = "http://www.strona/tabela"; $ch = curl_init(); // inicjalizacja curla curl_setopt($ch, CURLOPT_URL,$url); // ustawienie urla curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // zwróć w postaci zmiennej curl_setopt($ch, CURLOPT_TIMEOUT, 3); // czas oczekiwania $result = curl_exec($ch); // wykonanie skryptu curl_close($ch); preg_match_all('/<ul class="SubMColumn">(.+?)<\/ul>/ism', $result, $wyjscie); //podanie nazwy diva - "SubMColumn" ?> Ten post edytował miszarus 4.08.2012, 23:08:00 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ponieważ
1, wybrałeś gorszy sposób, curl (niepoprawny). 2. źle go zastosowałeś. http://www.php.net/manual/pl/reference.pcr...n.modifiers.php Ten post edytował !*! 5.08.2012, 09:37:44 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
A może skryptozakładka, jeśli to ma być za pomocą JavaScript
Ten post edytował JoShiMa 5.08.2012, 09:35:56 -------------------- |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 20.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ponieważ 1, wybrałeś gorszy sposób, curl (niepoprawny). 2. źle go zastosowałeś. http://www.php.net/manual/pl/reference.pcr...n.modifiers.php Ale nie działa, gdyż wywala albo jakieś znaki...a gdy wpisuje aby otrzymać konkretnego diva, otrzymuje array(0) { } Chodzi mi o to by móc pobrać np. taką tabelę z kursami jak na http://sgb.pl/kursy_walut i ją wyświetlać na swojej stronie. Zrobiłem tak: CODE <?php $strona = file_get_contents('http://www.sgb.pl/kursy_walut'); echo '<pre>'; preg_match('/<div>(.*)<\/div>/s', $strona, $wynik); // (.*) pobiera wszystko bez wyjątku var_dump($wynik); ?> ale nie dostaje tabelki ![]() Ten post edytował miszarus 5.08.2012, 18:17:04 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ponieważ to tylko przykład. Musisz wpisać odpowiednie wyrażenie regularne, takie jakie jest na tej stronie którą pobierasz.
Poza tym, żeby pobrać aktualny kurs walut, to wejdź na stronę NBP i pobierz te dane za pomocą ich API. -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 20.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Działa
![]() Np. Włożyć teraz w stronkę na HTML-u? I jeszcze jedno ważne pytanie. W jaki sposób to aktualizować, aby zmieniało się samo, podczas aktualizacji na ich stronie? Ten post edytował miszarus 5.08.2012, 18:32:32 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
1. Poczytaj o file_get_contents()
2. Poczytaj o cronie |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Działa ![]() Np. Włożyć teraz w stronkę na HTML-u? I jeszcze jedno ważne pytanie. W jaki sposób to aktualizować, aby zmieniało się samo, podczas aktualizacji na ich stronie?
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 20.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Kurdem, nie mogę sobie poradzić.
Jakiś przykład, jak te dane obrobić? I dlaczego jak definiuje CODE preg_match('/<h3 class="color">(.*)<\/table>/s', $strona, $wynik); // (.*) pobiera wszystko bez wyjątku i tak pobiera mi całą stronę ![]() |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Niemożliwe. Pokaż całość.
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 20.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
PHP
![]() -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 20.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
CODE <?php $strona = file_get_contents('http://www.sgb.pl/kursy_walut'); echo '<pre>'; preg_match('/<h3 class="color">(.*)<\/table>/s', $strona, $wynik); // (.*) pobiera wszystko bez wyjątku var_dump($wynik); echo $wynik[0]; //lub ?> Przecież deklaruje, że chce tylko <h3 class="color"> a wywala mi wszystko! Jak to obrobić? Szukam po podobnych tematach: http://forum.ks-ekspert.pl/topic/125737-ph...elementu-stony/ http://peb.pl/tworzenie-stron/1256320-curl...nie-tre-ci.html próbowałem się wzorować na tym CODE /Wyciąganie ze źródła potrzebnego kodu za pomocą fukcji explode(); $wynik = explode('<div id="HomeStock"><div></div></div>',$wynik); $wynik = $wynik[1]; $wynik = explode('<div class="HomeStock"><div></div></div>', $wynik); $wynik = $wynik[0]; //Rozpoczynanie formatowania $wynik = preg_replace('/<\/h1>(.*?)<h2>/si', '</h1><h2>', $wynik); $wynik = preg_replace("/width='(.*?)' height='(.*?)' border='(.*?)'/si", 'alt="" /', $wynik); $pattern[0] = 'livebox_content'; $pattern[1] = '<h2>TERAZ</h2>'; $replacement[0] = 'weather_box'; $replacement[1] = ''; $wynik = str_replace($pattern, $replacement, $wynik); //Zwracanie fragmentu po formatowaniu return($wynik); } echo pogoda('id'); ?> ale wszystko nic. Ja chcę tylko jak to się mówi...dokładnie zabrać tą tabelkę i wyświetlać u ciebie lub przełożyć te dane do siebie ![]() |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat <h3 class="color">(.*)<\/table> To nie wygląda na poprawny tag <h2> ![]() -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 01:13 |