Apakah ada API USCF?

10

Beberapa waktu yang lalu ada situs yang dibuat oleh ayah NM Jonathan Hilton yang melakukan beberapa analisis pada sejarah peringkat USCF pemain.

Saya pikir itu adalah situs yang cukup bagus, tetapi menghilang. Masih ada beberapa alat seperti itu yang beredar. Saya bertanya-tanya apakah ada semacam API USCF, atau bagaimana data seperti itu dapat diperoleh.

Andrew Latham
sumber

Jawaban:

4

Saya tidak mengetahui adanya API, tetapi cara mereka mengaturnya cukup mudah untuk mengumpulkan data melalui teknik yang disebut layar / pengikisan web .

Misalnya, pencarian nama Anda memberikan tautan ke halaman tertentu dengan id anggota Anda di URL. Kemudian jika Anda memiliki bahasa pemrograman / perpustakaan yang DOM-aware, Anda bisa mencari tahu di mana hal-hal tertentu akan terjadi, berdasarkan pada desain halaman. Menggunakan pemilih jquery, dan beberapa traversal, halaman itu dapat diuraikan untuk mendapatkan peringkat seperti itu:

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

Peringkat yang bagus.

Ini sedikit menyakitkan, dan bahkan lebih menyakitkan jika mereka memutuskan untuk mengubah desain halaman, tetapi pada akhirnya Anda akan dapat menguraikan semua data yang Anda inginkan, dan kemudian membangun cara mengumpulkan data untuk setiap anggota dan menyimpannya. dalam database Anda sendiri untuk analitik. Tidak akan terlalu sulit untuk dilakukan, hanya beralih melalui id anggota, dan Anda bisa mendapatkan nama, status, peringkat, dll. - sebanyak yang tersedia di layar mereka.

Semoga itu bisa membantu.

Eve Freeman
sumber
Dan saya baru saja melihat situs web Anda - Anda mungkin tahu semua tentang memo. Ngomong-ngomong, akan lebih asyik jika mereka menawarkan API, tapi saya rasa itu bukan jenis bisnis yang mereka jalani.
Eve Freeman
Sebenarnya saya belum. Sesuatu untuk dipelajari. Ah, sepertinya proyek akhir pekan yang menyenangkan!
Andrew Latham
3

Saya tidak berpikir bahwa USCF memiliki API lengkap, tetapi ada beberapa url khusus yang dapat Anda gunakan untuk penguraian layar sederhana / penguraian data:

Di setiap halaman "tipis" itu, Anda dapat meneruskan ID anggota sebagai parameter url (misalnya thin3.php?11111111).

Respons server sangat sangat ringan - tidak ada penambahan markup.

Halaman-halaman ini dirancang untuk penggunaan browser ponsel pada hari turnamen jika saya ingat dengan benar, tetapi mereka juga berguna untuk mengekstraksi data.

Andrew
sumber
Temuan yang bagus. Jelas lebih baik daripada mem-parsing markup.
Eve Freeman
Hanya sebuah catatan, ini akan memberi Anda peringkat dan nama saat ini dengan id anggota, atau id anggota dengan nama, tetapi itu tidak memberi Anda statistik sejarah turnamen.
Eve Freeman
@WesFreeman satu-satunya cara saya dapat menemukan statistik sejarah turnamen (dan, yah, sejarah) adalah dengan menguraikan halaman msa yang sangat metodis. Saya mungkin memiliki beberapa kode php lama yang mengekstrak data di suatu tempat, saya akan melihat apakah saya dapat menggali itu ketika saya sendirian dengan hard drive eksternal saya nanti.
Andrew
Mereka BENAR-BENAR membutuhkan beberapa bentuk API. Ada begitu banyak mashup keren yang bisa dilakukan ...
Mongo
2

Ada API untuk ini sekarang di url berikut: https://uschessapi.azurewebsites.net/api/player/ {Id}

Dalam hal ini {Id} = ID Anggota USCF

Berikut ini adalah contoh permintaan / tanggapan:

Permintaan - https://uschessapi.azurewebsites.net/api/player/13197795

Respon (JSON)

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

Saat ini, hanya mengembalikan peringkat Reguler, Cepat, Blitz, dan Fide serta nama. Jika ada yang punya pertanyaan jangan ragu untuk mengirimi saya pesan.

Maxqueue
sumber