Pobieranie danych z tabeli na stronie www.

0

Witam!
Jakby tu pobrać wszystkie dane z tabeli na tej stronie: https://secure.tibia.com/community/?subtopic=killstatistics
Bo jak wybiorę jakiś serwer z listy rozwijanej, to jest taki problem ze nie ma do niej linku bezpośredniego, tylko cały czas ten sam adres https://secure.tibia.com/community/?subtopic=killstatistics
i nie mogę pobrać danych z tabeli. Wiem że się da to zrobić ale jak. Proszę odpowiedz.

1

Listę obsługuje formularz przesyłający dane POSTem do tej samej podstrony. Zatem puszczasz posta z polem "world" i wartością taką jaką masz w selekcie do https://secure.tibia.com/community/?subtopic=killstatistics.

0

Jeżeli chcesz to robić z poziomu PHP to możesz wykorzystać curl i wysłać postem world = słowna_nazwa_świata. Tym sposobem dostaniesz całą wygenerowaną stronę. Potem wystarczy pobawić się trochę regexami lub DOMDocument żeby wyłuskać odpowiednie dane.

0

Mam taki kod znalazłem na forum. Zapisuję on już nie całą stronę tylko niektóre elementy tabeli. A co by tu zmienić w tym kodzie żeby zapisać tylko np. dwie pozycje "Abyssador" i "An Observer Eye" z kolumny Race, a z kolumny Last Day - Killed by Players znajdującą się tam liczbę? Tak w ogóle to bym chciał to co wybiorę z tabeli zapisać do bazy danych w przyszłości, nie jestem do końca pewny czy dobrze kombinuje teraz czy to się tak da zapisać do bazy danych?

<?php
    $s = file_get_contents('https://secure.tibia.com/community/?subtopic=killstatistics&world=Amera');
    preg_match_all( '#<td>(.*?)</td>#is', $s, $m, PREG_PATTERN_ORDER );
 
        $string = implode("\n", $m[1]);
 
    file_put_contents('asd.txt',$string);
    ?>
0

Do bazy danych możesz sobie zapisać co tylko chcesz w zależności od tego jak tą bazę przygotujesz ;)

A co do pierwszej części pytania to musisz po prostu rozszerzyć sobie tego regexa aby wyłapywał tylko te dwa wiersze, a potem z tych wierszy możesz wyrwać resztę danych. Możesz też napisać sobie jednego większego regexa do wyłuskania tylko tej interesującej Cię kolumny. Do preg_match_all możesz przekazać tablicę reguł więc to nie powinien być problem, ale nie będę tego pisał za Ciebie ;) Google jest prawdziwą skarbnicą wiedzy o budowie regexów.
To testów polecam stronę regexr.com

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