USCF API'sı var mı?


10

Bir süre önce NM Jonathan Hilton'un babası tarafından, oyuncunun USCF derecelendirme geçmişleri hakkında bazı analizler yapan bir site vardı.

Oldukça iyi bir site olduğunu düşündüm, ama kayboldu. Etrafta hala bunun gibi bazı araçlar var. Bir çeşit USCF API olup olmadığını veya bu tür verilerin nasıl yakalanabileceğini merak ediyordum.

Yanıtlar:


4

Ben bir API farkında değilim, ama onlar kurmak var şekilde ekran / web kazıma adı verilen bir teknik ile veri toplamak oldukça kolaydır .

Örneğin, adınızdaki bir arama, üye kimliğinizin URL'de bulunduğu belirli bir sayfaya bağlantı verir. Daha sonra DOM uyumlu bir programlama diliniz / kütüphaneniz varsa, sayfanın tasarımına bağlı olarak belirli şeylerin nerede olacağını anlayabilirsiniz. Jquery seçicileri ve birkaç çapraz geçiş kullanarak, bu sayfa derecelendirmeyi almak için ayrıştırılabilir:

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

Güzel değerlendirme, bu arada.

Sayfaların tasarımını değiştirmeye karar verirlerse biraz acı verir ve daha da acı verir, ancak sonunda istediğiniz tüm verileri ayrıştırabilir ve ardından her üye için veri toplama ve depolama analiz için kendi veritabanınızda. Bunu yapmak o kadar da zor olmayacak, sadece üye kimlikleri üzerinden yineleme yapacaksınız ve onların adlarını, durumlarını, derecelendirmelerini vb.

Umarım yardımcı olur.


Ve sadece web sitenizi gördüm - muhtemelen kazıma hakkında her şeyi biliyorsunuz. Her neyse, bir API teklif etmeleri harika olurdu, ancak bu tür bir iş olduklarını sanmıyorum.
Eve Freeman

Aslında henüz yapmadım. Öğrenilecek bir şey. Ah, kulağa eğlenceli bir haftasonu projesi gibi geliyor!
Andrew Latham

3

USCF'nin tam bir API'ye sahip olduğunu düşünmüyorum, ancak basitleştirilmiş ekran kazıma / veri ayrıştırma için kullanabileceğiniz birkaç özel URL var:

Bu "ince" sayfaların her birinde, bir url parametresi olarak bir üye kimliği iletebilirsiniz (örneğin thin3.php?11111111).

Sunucu yanıtı çok hafif - dışsal işaretleme yok.

Bu sayfalar, doğru hatırlıyorsam turnuva günü TD tarafından cep telefonu tarayıcısı kullanımı için tasarlanmıştır, ancak aynı zamanda veri ayıklamak için de yararlıdır.


Güzel bulmak. İşaretlemeyi ayrıştırmaktan kesinlikle daha iyi.
Eve Freeman

Sadece bir not, bu size üye kimliğine göre geçerli derecelendirmeyi ve adı veya ada göre üye kimliğini verir, ancak size herhangi bir turnuva geçmişi istatistikleri vermez.
Eve Freeman

@WesFreeman turnuva geçmişi istatistiklerini (ve geçmişini) bulabilmemin tek yolu msa sayfalarının çok metodik olarak ayrıştırılmasıdır. Bir yerde veri ayıklayan bazı eski php kodu olabilir, daha sonra harici sabit disk ile yalnız olduğumda kazmak olup olmadığını göreceğim.
Andrew

GERÇEKTEN bir çeşit API'ya ihtiyaç duyarlar. Yapılabilecek birçok harika mashup var ...
Mongo

2

Bunun için şu anda bir URL var: https://uschessapi.azurewebsites.net/api/player/ {Id}

Bu durumda {Id} = USCF Üye Kimliği

Aşağıda örnek bir istek / yanıt yer almaktadır:

İstek - https://uschessapi.azurewebsites.net/api/player/13197795

Tepki (JSON)

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

Şu anda sadece Normal, Hızlı, Blitz ve Fide puanlarının yanı sıra ad döndürüyor. Herhangi bir sorunuz varsa bana mesaj göndermekten çekinmeyin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.