มี USCF API หรือไม่


10

เมื่อไม่นานมานี้มีเว็บไซต์สร้างโดยพ่อของ NM Jonathan Hilton ที่ทำการวิเคราะห์ประวัติของการจัดอันดับ USCF ของผู้เล่น

ฉันคิดว่ามันเป็นเว็บไซต์ที่ดี แต่มันก็หายไป ยังมีเครื่องมือบางอย่างที่ลอยอยู่รอบ ๆ ฉันสงสัยว่ามี USCF API บางประเภทหรือไม่ว่าข้อมูลประเภทนั้นจะถูกจับได้อย่างไร

คำตอบ:


4

ฉันไม่ทราบของ API แต่พวกเขาวิธีที่พวกเขามีมันติดตั้งก็สวยง่ายต่อการรวบรวมข้อมูลทางเทคนิคที่เรียกว่าหน้าจอ / เว็บขูด

ตัวอย่างเช่นการค้นหาชื่อของคุณจะให้ลิงค์ไปยังหน้าเฉพาะที่มีรหัสสมาชิกของคุณใน URL จากนั้นหากคุณมีภาษา / ไลบรารีการเขียนโปรแกรมที่เป็นที่รับรู้ถึง DOM คุณสามารถเข้าใจได้ว่าจะมีบางสิ่งขึ้นอยู่กับการออกแบบของหน้า การใช้ jquery selectors และ traversals สองหน้าสามารถแยกวิเคราะห์เพื่อให้ได้คะแนนเช่นนี้:

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

คะแนนที่ดีโดยวิธีการ

มันเจ็บปวดเล็กน้อยและเจ็บปวดยิ่งกว่าเดิมหากพวกเขาตัดสินใจเปลี่ยนการออกแบบหน้าเว็บ แต่ในที่สุดคุณจะสามารถแยกวิเคราะห์ข้อมูลทั้งหมดที่คุณต้องการแล้วสร้างวิธีรวบรวมข้อมูลสำหรับสมาชิกแต่ละคนและจัดเก็บ ไว้ในฐานข้อมูลของคุณเพื่อการวิเคราะห์ มันไม่ยากที่จะทำเพียงแค่วนซ้ำรหัสสมาชิกและคุณสามารถรับชื่อรัฐคะแนนและอื่น ๆ ได้มากเท่าที่มีในหน้าจอ

หวังว่าจะช่วย


และฉันเพิ่งเห็นเว็บไซต์ของคุณคุณอาจรู้เรื่องการขูด อย่างไรก็ตามมันจะเจ๋งถ้าพวกเขาเสนอ API แต่ฉันไม่คิดว่ามันเป็นธุรกิจประเภทไหน
Eve Freeman

จริง ๆ แล้วฉันยังไม่ สิ่งที่ต้องเรียนรู้ อ่าเสียงเหมือนโปรเจคสุดสัปดาห์!
Andrew Latham

3

ฉันไม่คิดว่า USCF มี API แบบเต็ม แต่มี URL พิเศษบางอย่างที่คุณสามารถใช้สำหรับการคัดแยกหน้าจอ / การแยกวิเคราะห์ข้อมูลแบบง่าย:

ในแต่ละหน้า "thin" คุณสามารถส่ง ID สมาชิกเป็นพารามิเตอร์ url (ตัวอย่างthin3.php?11111111)

การตอบสนองของเซิร์ฟเวอร์นั้นเบามาก - ไม่มีมาร์กอัปภายนอก

หน้าเหล่านี้ถูกออกแบบมาสำหรับเบราว์เซอร์โทรศัพท์มือถือที่ TD ใช้ในวันแข่งขันถ้าฉันจำได้อย่างถูกต้อง แต่มันก็มีประโยชน์สำหรับการดึงข้อมูล


ยินดีที่ได้พบ ดีกว่าการแยกวิเคราะห์มาร์กอัปแน่นอน
อีฟฟรีแมน

เพียงแค่ทราบสิ่งนี้จะให้คะแนนและชื่อปัจจุบันแก่คุณตามรหัสสมาชิกหรือรหัสสมาชิกตามชื่อ แต่ไม่ได้ให้สถิติประวัติการแข่งขันใด ๆ แก่คุณ
Eve Freeman

@WesFreeman วิธีเดียวที่ฉันสามารถค้นหาสถิติการแข่งขัน (และประวัติศาสตร์) คือการแยกวิเคราะห์หน้าเว็บ msa อย่างเป็นระบบ ฉันอาจมีโค้ด php เก่า ๆ ที่ดึงข้อมูลมาจากที่อื่นฉันจะดูว่าฉันสามารถขุดมันได้หรือไม่เมื่อฉันอยู่คนเดียวกับฮาร์ดไดรฟ์ภายนอกของฉันในภายหลัง
แอนดรูว์

พวกเขาต้องการรูปแบบของ API จริงๆ มี mashups เจ๋ง ๆ มากมายที่สามารถทำได้ ...
Mongo

2

มี API สำหรับสิ่งนี้ในตอนนี้ที่ URL ต่อไปนี้: 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"}

ตอนนี้เพิ่งกลับมาเรตติ้งปกติด่วนบลิทซ์และเฟดรวมถึงชื่อ หากใครมีคำถามใด ๆ โปรดส่งข้อความถึงฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.