O danych

O danych

Wrzesień 21, 2021

Skąd pochodzą dane

Ponieważ nie istnieje oficjalne API Tibii, prawie wszystkie dane o grze pochodzą bezpośrednio z oficjalnej strony Tibii. Stosujemy technikę zwaną data scraping, co oznacza, że regularnie wysyłamy zapytania HTTP do oficjalnej strony, a następnie zbieramy własne dane na podstawie odpowiedzi.

Nie jest to najbardziej eleganckie rozwiązanie, ale obecnie jest to jedyna dostępna opcja dla deweloperów, którzy chcą budować aplikacje wykorzystujące prawdziwe dane z Tibii. I wiąże się to z kilkoma wyzwaniami:

  • Drobne zmiany w strukturze strony Tibii mogą łatwo zepsuć nasze skrypty.
  • Zapytania są często odrzucane (głównie z powodu zabezpieczeń anti-DDoS).
  • Wykrywanie i aktualizowanie nieaktualnych danych.

To zbyt dużo rzeczy do zarządzania i automatyzowania, zanim w ogóle zaczniemy budować aplikację korzystającą z tych danych. To duże obciążenie może łatwo zniechęcić deweloperów, którzy chcą tworzyć aplikacje do Tibii. Gdyby CipSoft udostępnił deweloperom oficjalne API, wiele ciekawych narzędzi i aplikacji rozkwitłoby w społeczności 🌱.

Jak dokładne są?

Nie możemy zagwarantować, że nasze dane są w 100% dokładne, nawet jeśli pochodzą z oficjalnej strony.

W przypadku aktualnych aukcji nasze dane mogą być opóźnione nawet o 10 minut. Oznacza to, że jeśli potrzebujesz najbardziej aktualnych informacji o bieżącej cenie, powinieneś sprawdzić oficjalną stronę aukcji. Wszystko inne jest stabilne.


Jeśli chodzi o aukcje historyczne, sprawa się komplikuje. Oficjalnie CipSoft udostępnia własną Historię Aukcji, ale dane wygasają po 30 dniach. Nie oznacza to jednak, że starsze dane są całkowicie utracone. Nadal możesz uzyskać dostęp do pojedynczych stron aukcji, używając ich ID:

https://www.tibia.com/charactertrade
/?subtopic=currentcharactertrades&page=details&auctionid=0

Niestety część danych jest uszkodzona. Na przykład bardzo często zobaczysz postacie bez punktów achievement (co jest niemożliwe). W najgorszym przypadku niektóre stare aukcje są całkowicie niedostępne:

An internal error has occurred. Please try again later!

Ale te aukcje istniały! W rzeczywistości TibiaVIP nadal posiada informacje o niektórych z nich:

Stara aukcja
Jeśli spróbujesz wejść na aukcję o ID #3, nie będzie już dostępna

Ponieważ dzieje się to najczęściej w przypadku starszych aukcji, wierzymy, że może to wynikać z faktu, iż CipSoft nie jest w stanie wstecznie aktualizować starych wpisów w Char Bazaar. W miarę wprowadzania kolejnych aktualizacji (i kolejnych danych) do gry, część wpisów aukcyjnych ulega uszkodzeniu.

Szacujemy, że w naszej bazie historycznej brakuje około 200,000 wpisów aukcyjnych. A ponieważ nasze statystyki są obliczane na podstawie własnej bazy danych, niektóre liczby powinny być w rzeczywistości wyższe niż te, które podajemy.

Jeśli jesteś ciekaw naszej strategii scrapowania i skryptów, możesz je sprawdzić tutaj. Wszystko jest dobrze udokumentowane i możesz nawet skonfigurować własne środowisko, aby uruchamiać te skrypty samodzielnie 😄

Czy mogę używać waszych API?

Tak, możesz. Ale nie oferujemy żadnego wsparcia ani gwarancji! ⚠️

Nasze API często się zmienia, co oznacza, że nie powinieneś budować aplikacji, które na nim polegają. Jeśli potrzebujesz stabilnego API, możesz użyć naszego kodu, aby samodzielnie scrapować i serwować dane.

Jeśli wykonujesz automatyczne zapytania do naszych endpointów, upewnij się, że nie robisz tego zbyt często. Nadużycia najprawdopodobniej zostaną automatycznie wykryte i zablokowane przez naszych dostawców (AWS, Cloudflare itp.).


Jeśli masz inne pytania, śmiało skontaktuj się ze mną.