Czy istnieje interfejs API USCF?


10

Jakiś czas temu była strona stworzona przez ojca NM Jonathana Hiltona, która dokonała analizy historii graczy USCF.

Myślałem, że to całkiem dobra strona, ale zniknęła. Nadal istnieje kilka takich narzędzi. Zastanawiałem się, czy istnieje jakiś interfejs API USCF lub jak można pobrać takie dane.

Odpowiedzi:


4

Nie znam interfejsu API, ale sposób, w jaki go skonfigurowali, jest dość łatwy do gromadzenia danych za pomocą techniki zwanej skrobaniem ekranu / sieci .

Na przykład wyszukiwanie imienia i nazwiska daje link do konkretnej strony z identyfikatorem członka w adresie URL. Następnie, jeśli masz język programowania / bibliotekę obsługującą DOM, możesz po prostu dowiedzieć się, gdzie będą określone rzeczy, na podstawie projektu strony. Za pomocą selektorów jquery i kilku przeglądów tę stronę można przeanalizować, aby uzyskać ocenę jako taką:

> $("td td td:contains(Regular Rating)").next().find("nobr").text();
"2072  
2012-03(Current floor is 1800)"

Nawiasem mówiąc, niezła ocena.

Jest to trochę bolesne, a nawet bardziej bolesne, jeśli kiedykolwiek zdecydują się zmienić projekt stron, ale ostatecznie będziesz w stanie przeanalizować wszystkie potrzebne dane, a następnie opracować sposób gromadzenia danych dla każdego członka i przechowywania we własnej bazie danych do analizy. Nie byłoby to takie trudne, wystarczy powtarzać identyfikatory członków, aby uzyskać ich nazwy, stany, oceny itp. - tyle jest dostępnych na ich ekranach.

Mam nadzieję, że to pomaga.


I właśnie zobaczyłem twoją stronę - zapewne wiesz wszystko o skrobaniu. W każdym razie byłoby fajnie, gdyby oferowali API, ale nie sądzę, że to taki interes, w którym się zajmują.
Eve Freeman,

Właściwie to jeszcze nie. Coś do nauki. Cóż, brzmi jak zabawny projekt weekendowy!
Andrew Latham,

3

Nie sądzę, że USCF ma pełne API, ale istnieje kilka specjalnych adresów URL, których można użyć do uproszczonego zgarniania ekranu / analizy danych:

Na każdej z tych „cienkich” stron można przekazać identyfikator członka jako parametr adresu URL (na przykład thin3.php?11111111).

Odpowiedź serwera jest bardzo bardzo lekka - bez zbędnych znaczników.

Strony te zostały zaprojektowane do korzystania z przeglądarki telefonu komórkowego przez TD w dniu turnieju, jeśli dobrze pamiętam, ale są również przydatne do wydobywania danych.


Niezłe znalezisko. Zdecydowanie lepsze niż analizowanie znaczników.
Eve Freeman,

Tylko uwaga, da ci to bieżącą ocenę i imię według identyfikatora członka lub ID członka według nazwy, ale nie daje żadnych statystyk historii turniejów.
Eve Freeman,

@WesFreeman jedynym sposobem, w jaki udało mi się znaleźć statystyki historii turniejów (i, no cóż, historia), jest bardzo metodyczne parsowanie stron MSA. Mogę mieć jakiś stary kod php, który wyodrębnia gdzieś dane, zobaczę, czy uda mi się to wykopać, kiedy będę sam z zewnętrznym dyskiem twardym później.
Andrew

NAPRAWDĘ potrzebują jakiejś formy API. Jest tak wiele fajnych mashupów, które można zrobić ...
Mongo,

2

Interfejs API jest teraz dostępny pod następującym adresem URL: https://uschessapi.azurewebsites.net/api/player/ {Id}

W tym przypadku {Id} = ID członka USCF

Poniżej przedstawiono przykładowe żądanie / odpowiedź:

Żądanie - https://uschessapi.azurewebsites.net/api/player/13197795

Odpowiedź (JSON)

{"memberId":"13197795","name":"JEREMY KRASIN","regularRating":"1828","quickRating":"1818","blitzRating":"1765","fideRating":"1749"}

W tej chwili zwraca tylko oceny Regular, Quick, Blitz i Fide, a także imię i nazwisko. Jeśli ktoś ma jakieś pytania, napisz do mnie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.