USCF APIはありますか?


10

少し前に、NMジョナサンヒルトンの父親が作成したサイトで、プレイヤーのUSCFレーティング履歴を分析していました。

結構いいサイトだと思いましたが、消えてしまいました。そのようなツールがまだ浮かんでいます。なんらかのUSCF APIがあるのか​​、あるいはそのようなデータがどのように取得されるのかと思っていました。

回答:


4

私はAPIを認識していませんが、APIをセットアップしているため、スクリーン/ウェブスクレイピングと呼ばれる手法を使用してデータを収集するのは非常に簡単です。

たとえば、名前を検索すると、URLにメンバーIDが含まれる特定のページへのリンクが表示されます。次に、DOM対応のプログラミング言語/ライブラリがある場合、ページのデザインに基づいて、特定のものがどこにあるかを簡単に判断できます。jqueryセレクターといくつかのトラバーサルを使用して、そのページを解析し、そのような評価を取得できます。

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

ちなみにいい評価です。

ページのデザインを変更することを決定した場合、それは少し苦痛であり、さらに苦痛ですが、最終的には必要なすべてのデータを解析し、各メンバーのデータを収集して保存する方法を構築することができます。分析のために独自のデータベースに保存します。それほど難しくはありません。メンバーIDを反復処理するだけで、メンバーの名前、状態、評価などを取得できます。

お役に立てば幸いです。


そして私はあなたのウェブサイトを見たばかりです-あなたはおそらくスクレイピングのすべてを知っています。とにかく、それは彼らがAPIを提供した場合はクールになるが、私はそれは彼らがしている事業の一種だとは思わない。
イヴ・フリーマン

私はまだしていません。学ぶこと。ああ、楽しい週末プロジェクトのようですね。
アンドリューレーサム

3

USCFに完全なAPIがあるとは思いませんが、簡単な画面スクレイピング/データ解析に使用できるいくつかの特別なURLがあります。

これらの「薄い」ページのそれぞれで、メンバーIDをurlパラメータ(たとえばthin3.php?11111111)として渡すことができます。

サーバーの応答は非常に軽量です-無関係なマークアップはありません。

これらのページは、私が正しく覚えている限り、トーナメントの当日、TDが携帯電話のブラウザーで使用するために設計されましたが、データの抽出にも役立ちます。


いい発見。マークアップを解析するよりも間違いなく優れています。
イブフリーマン

これは、現在の評価とメンバーID別の名前、またはメンバーID別の名前を提供しますが、トーナメント履歴の統計情報は提供しません。
Eve Freeman

@WesFreemanがトーナメントの履歴の統計(および履歴)を見つけることができる唯一の方法は、msaページを非常に系統的に解析することです。どこかにデータを抽出する古いphpコードがあるかもしれませんが、後で外付けハードドライブを1人で使用しているときに、それを掘り下げることができるかどうかを確認します。
アンドリュー

彼らは本当に何らかの形のAPIを必要としています。実行できるクールなマッシュアップはたくさんあります...
Mongo

2

現在、次のURLにこのためのAPIがあります:https : //uschessapi.azurewebsites.net/api/player/ {Id}

この場合、{Id} = USCFメンバーID

以下は、リクエスト/レスポンスの例です。

リクエスト-https://uschessapi.azurewebsites.net/api/player/13197795

応答(JSON)

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

現在は、Regular、Quick、Blitz、Fideの評価と名前が返されます。誰か質問があれば私にメッセージを送ってください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.