![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 410 Pomógł: 5 Dołączył: 25.01.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Początkuję w curlu i (nie ukrywam) potrzebuję Waszej pomocy. Chcę "pozbierać" informacje ze strony http://infopasazer.intercity.pl/?p=station&id=60103 i umieścić je u siebie. Ale utknąłem i nie mam pomysłu jak to ugryźć. Mój obecny kod: Kod <?php $curl = curl_init(); //Inicujemy curl curl_setopt($curl, CURLOPT_URL, 'http://infopasazer.intercity.pl/?p=station&id=60103'); //pobieramy dane z "http://www.lfsworld.net/?win=stats&racer=rafal612b2" curl_setopt($curl, CURLOPT_REFERER, "http://www.google.pl/"); //ustawiamy refferer na www.google.pl (niektóre strony mają zabezpieczenia curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //wyniku nie wyświetlamy a zapisujemy do zmiennej co ułatwia prace nad nim curl_setopt($curl, CURLOPT_USERAGENT, 'Googlebot/2.1 (+http://www.googlebot.com/bot.html)'); //ustawiamy useragent (niektóre strony mają zabezpieczenia) curl_setopt($curl, CURLOPT_TIMEOUT, 30); //Maxymalny czas połączenia ze stroną curl_setopt($curl, CURLOPT_HEADER, 0); //nie chcemy dołączać nagłówka $strona = curl_exec($curl); //uruchamiamy skonfigurowanego curla curl_close($curl); //zamykamy ?> Wiem, że to nic nie wyświetla. Interesują mnie z tej strony dwie tabele: przyjazdy i odjazdy. Problemem jest m.in. to, że dane na tej stronie bardzo często są aktualizowane. Ten post edytował roobik 15.11.2015, 12:19:33 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 270 Pomógł: 184 Dołączył: 7.10.2012 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
To nie mozesz wyzwalac tego skryptu tak czesto jak bedziesz chcial uzywajac np cron`a?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 410 Pomógł: 5 Dołączył: 25.01.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Móc mogę. Ale nie chcę. Ponawiam prośbę o pomoc...
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 270 Pomógł: 184 Dołączył: 7.10.2012 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
To jak masz zamiar aktualizowac te dane u siebie nie wywolujac dosyc czesto skryptu?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 410 Pomógł: 5 Dołączył: 25.01.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Za każdym razem gdy wejdę na stronie dane pobierane są curlem?
Nie róbmy off'a, proszę (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 9 Dołączył: 16.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli wszystko jest ok, to w zmiennej $strona masz cały html pobranej strony. Wyrażeniami regularnymi musisz wydłubać dane które są Ci potrzebne albo operując na DOM, tylko że to kolejne schody zanim wszystko zacznie działać
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 410 Pomógł: 5 Dołączył: 25.01.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem, czy w dobrym kierunku idę, ale metodą prób i błędów otrzymałem dość dużą tablicę:
Z tym, że teraz nie wiem co dalej. Gdybym miał każdą komórkę jako element tablicy - to już z górki. Da radę podzielić taką tablicę? Bardzo proszę o pomoc... Ten post edytował roobik 30.11.2015, 07:38:13 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 9 Dołączył: 16.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
To teraz bierzesz $Wyniki[0][0] i wyrażeniem regularnym wyciągasz wartości z komórek
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 410 Pomógł: 5 Dołączył: 25.01.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Tylko że kurna wyciągam po jednej literce zaczynając od
< potem d potem i potem v (czyli <div...) Nie mam pojęcia jak to rozwalić, ale może znowu metodą prób i błędów (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Przy takiej strukturze strony naprawdę życzę powodzenia regexpami. http://wwwgo.pl/article/9/phpquery_-_szybk...bienstwo_jquery
Ten post edytował viking 30.11.2015, 07:56:27 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 410 Pomógł: 5 Dołączył: 25.01.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Dlatego właśnie szukam pomocy u Was...
Jakby to była błahostka, to bym nie pisał. A piszę tylko wtedy, gdy juz naprawdę "mam problem" Utknąłem niestety. Zajmę się tym po pracy. //edit po pracy... ale i tak utknąłem Pomóżcie plis - sam tego nie rozwalę (IMG:style_emoticons/default/sad.gif) Ten post edytował roobik 30.11.2015, 17:08:29 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 9 Dołączył: 16.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie napisałeś co chcesz z tym dalej zrobić. Wyciągasz wszystkie tabele z danej strony i...? Podałem przykład jak łatwo operować na takich danych za pomocą phpquery i np selektora nth-child().
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 410 Pomógł: 5 Dołączył: 25.01.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat(adrew654) A mógłbyś chociaż wyświetlić co tam masz? [img=http://s4.postimg.org/xcx5yfn7t/prtsc.jpg] //edit (stan na 01.12.2015 godz. 07:07 - zmienia się to praktycznie co minutę) Cytat(viking) Nie napisałeś co chcesz z tym dalej zrobić. 1. Pozbyć się <a href=... 2. Zmienić układ i dodać grafikę (np. zamiast napisu Przewozy Regionalne, dać grafikę-miniikonkę Przewozów) 3. Na nowo sformatować całą tabelę (układ, inna czcionka itp... Z powyższymi punktami nie będę miał żadnego problemu. Chodzi o to, bym otrzymał jakąś bardziej "dostępną" tablicę, gdzie każdą komórkę (td) bądź nawet span będzie można w dowolny sposób sformatować. Piszę "z bani", więc pomyłka na pewno będzie: Wyniki PRZYJAZDY Array ( [0] => Array ( [0] => [0][1] -> 66945/4 [0][2] -> Przewozy Regionalne [0][3] -> 2015-12-01 [0][4] -> OleĹnica - WrocĹaw GĹĂłwny [0][5] -> 06:46 [0][6] -> 0 min i tak każdy wiersz (sprawa polskich liter też nie stanowi problemu) //edit Póki nie wymyślę nic innego, to przyszedł mi tymczasowy pomysł na preg_match_all oraz str_replace Ten post edytował roobik 1.12.2015, 23:54:46 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 09:02 |