क्या एक USCF API है?


10

कुछ समय पहले एनएम जोनाथन हिल्टन के पिता द्वारा बनाई गई एक साइट थी जिसने खिलाड़ी के USCF रेटिंग इतिहास पर कुछ विश्लेषण किया था।

मुझे लगा कि यह बहुत अच्छी साइट है, लेकिन यह गायब हो गया। अभी भी कुछ उपकरण ऐसे हैं जो इधर-उधर तैर रहे हैं। मैं सोच रहा था कि USCF एपीआई के कुछ प्रकार थे, या उस तरह के डेटा को कैसे पकड़ा जा सकता है।

जवाबों:


4

मुझे एक एपीआई के बारे में पता नहीं है, लेकिन वे इसे जिस तरह से सेट करते हैं, वह स्क्रीन / वेब स्क्रैपिंग नामक तकनीक के माध्यम से डेटा इकट्ठा करना बहुत आसान है ।

उदाहरण के लिए, आपके नाम की खोज URL में आपकी सदस्य आईडी के साथ एक विशिष्ट पृष्ठ का लिंक देती है। फिर यदि आपके पास एक प्रोग्रामिंग लैंग्वेज / लाइब्रेरी है जो DOM- अवेयर है, तो आप केवल पृष्ठ के डिज़ाइन के आधार पर यह पता लगा सकते हैं कि कुछ चीजें कहाँ होंगी। Jquery चयनकर्ताओं, और ट्रैवर्सल्स के एक जोड़े का उपयोग करते हुए, उस पृष्ठ को रेटिंग प्राप्त करने के लिए पार्स किया जा सकता है:

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

अच्छी रेटिंग, वैसे।

यह थोड़ा दर्दनाक है, और इससे भी अधिक दर्दनाक है अगर वे कभी भी पृष्ठों के डिजाइन को बदलने का फैसला करते हैं, लेकिन अंततः आप अपने इच्छित सभी डेटा को पार्स करने में सक्षम होंगे, और फिर प्रत्येक सदस्य और भंडारण के लिए डेटा एकत्र करने का एक तरीका तैयार करेंगे। यह एनालिटिक्स के लिए आपके अपने डेटाबेस में है। ऐसा करना मुश्किल नहीं होगा, केवल सदस्य आईडी के माध्यम से पुनरावृत्त हो सकते हैं, और आप उनके नाम, राज्य, रेटिंग आदि प्राप्त कर सकते हैं ।-- जितना कि उनकी स्क्रीन पर उपलब्ध है।

उम्मीद है की वो मदद करदे।


और मैंने अभी-अभी आपकी वेबसाइट देखी है - आप सभी को स्क्रैप करना जानते हैं। वैसे भी, अगर वे एपीआई की पेशकश करते हैं, तो यह अच्छा होगा, लेकिन मुझे नहीं लगता कि वे जिस तरह के व्यवसाय में हैं, वह है।
ईव फ्रीमैन

मैं वास्तव में अभी तक नहीं। कुछ सीखना है। आह ठीक है, एक मजेदार सप्ताहांत परियोजना की तरह लगता है!
एंड्रयू लैथम

3

मुझे नहीं लगता कि USCF के पास पूर्ण API है, लेकिन कुछ विशेष यूआरएल हैं जिनका उपयोग आप सरलीकृत स्क्रीन स्क्रैपिंग / डेटा पार्सिंग के लिए कर सकते हैं:

उन "पतले" पृष्ठों में से प्रत्येक में, आप एक सदस्य आईडी को यूआरएल पैरामीटर (उदाहरण के लिए thin3.php?11111111) के रूप में पास कर सकते हैं ।

सर्वर प्रतिक्रिया बहुत हल्की है - कोई बाहरी निशान नहीं।

इन पृष्ठों को टीडी के टूर्नामेंट के दिन से सेल फोन ब्राउज़र के उपयोग के लिए डिज़ाइन किया गया था यदि मुझे सही याद है, लेकिन वे डेटा निकालने के लिए भी उपयोगी हैं।


अच्छा लगा। मार्कअप को पार्स करने से बेहतर है।
ईव फ्रीमैन

बस एक नोट, यह आपको वर्तमान आईडी और नाम से सदस्य आईडी या नाम से सदस्य आईडी देगा, लेकिन यह आपको कोई टूर्नामेंट इतिहास आँकड़े नहीं देता है।
ईव फ्रीमैन

@WesFreeman एकमात्र तरीका है कि मैं टूर्नामेंट इतिहास आँकड़े (और, अच्छी तरह से, इतिहास) को खोजने में सक्षम रहा हूँ, msa पृष्ठों के बहुत ही व्यवस्थित पार्सिंग द्वारा। मेरे पास कुछ पुराने php कोड हो सकते हैं जो कहीं न कहीं डेटा निकालते हैं, मैं देखूंगा कि क्या मैं बाद में अपनी बाहरी हार्ड ड्राइव के साथ अकेला होने पर खुदाई कर सकता हूं।
एंड्रयू

वे वास्तव में एपीआई के कुछ फार्म की जरूरत है। बहुत सारे शांत मैशप हैं जो किए जा सकते हैं ...
मैंगो

2

निम्नलिखित url पर इसके लिए एक API है: https://uschessapi.azurewebsites.net/api/player {{Id}

इस स्थिति में {Id} = USCF सदस्य आईडी

निम्नलिखित एक उदाहरण अनुरोध / प्रतिक्रिया है:

निवेदन - https://uschessapi.azurewebsites.net/api/player/13197795

रिस्पांस (JSON)

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

अभी सिर्फ रेगुलर, क्विक, ब्लिट्ज और फाइड रेटिंग के साथ-साथ नाम भी लौटता है। अगर किसी के पास कोई सवाल है तो मुझे बेझिझक मैसेज कर सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.