WebToAPI

← Tüm rehberler

Satırları sürekli yer değiştiren bir tabloyu okumak

· 5 dk okuma

Tablo okuyan hemen herkesin düştüğü hata budur. 3. satırdaki fiyatı alırsınız, her şey çalışır, bir hafta sonra API'niz sessizce yanlış coini, yanlış ürünü ya da yanlış takımı döndürmeye başlar — çünkü 3. satır artık kastettiğiniz satır değildir.

Konuma dayalı seçiciler neden çürür

tbody tr:nth-child(3) td:nth-child(4) gibi bir CSS seçicisi "üçüncü satırın dördüncü hücresi" der. O satırın ne içerdiği hakkında hiçbir şey söylemez. Sıralı bir tabloda — piyasa değerleri, satış listeleri, lig puan durumları — sıralamanın kendisi zaten olayın özüdür ve tasarımı gereği değişir.

Tehlikeli kısmı, hiçbir şeyin gürültüyle bozulmaması. Seçici hâlâ eşleşir, yanıtta hâlâ bir sayı vardır ve o sayı hâlâ makul görünür. Yalnızca yanlış satırın sayısıdır ve bunu haftalarca fark etmeyebilirsiniz.

İndekse değil, tanımlayıcıya sabitleyin

Çözüm, hücrenin nerede durduğunu tarif etmeyi bırakıp hangi satıra ait olduğunu tarif etmeye başlamaktır. Okunmaya değer her tablonun satırı tanımlayan bir sütunu vardır: bir ad, bir sembol, bir stok kodu, bir başlık. Tanımlayıcısı eşleşen satırı bulun, sonra istediğiniz sütuna doğru yatay okuyun.

Böyle okunduğunda aynı seçici yeniden sıralamayı atlatır: satır üçüncülükten on birinciliğe düşse de arama onu takip eder.

WebToAPI bunu nasıl soruyor

Tablo içeren bir sayfada seçime başladığınızda eklenti doğrudan bir değere tıklamanıza izin vermez. Önce bir soru sorar: satırı hangi sütun tanımlıyor?

  • Birinci adım — tanımlayıcı sütundaki bir hücreye tıklayın. Genellikle ad sütunudur.
  • İkinci adım — istediğiniz değerlere tıklayın. Her biri "tanımlayıcısı X olan satırdaki, bu sütunun hücresi" olarak saklanır.

Bu fazladan tek bir tıklama; ama kastettiğiniz şeyi kastetmeye devam eden bir API ile sessizce kayan bir API arasındaki fark bu.

Görünen ad da sabit değilse

Bazen etiketin kendisi değişir: site "Bitcoin"i "Bitcoin (BTC)" yapar ya da çevirir. Tanımlayıcı hücrede bir bağlantı varsa, bağlantının yolunu metnine tercih ederiz; çünkü /currencies/bitcoin/ gibi bir URL, üstünde görünen etiketten daha uzun ömürlü olma eğilimindedir.

Bu kendiliğinden olur. Tanımlayıcı hücrede kullanılabilir bir bağlantı varsa çıpa o olur; yoksa metin eşleştirmesine döneriz.

Tablo API'leri için kontrol listesi

  • Gerçekten benzersiz bir tanımlayıcı sütun seçin — "Diğer" adlı iki satır aramayı belirsizleştirir.
  • İçinde bağlantı olan bir sütunu, düz metin içerene tercih edin.
  • Sıra ya da indeks sütununa sabitlemekten kaçının; yer değiştiren şey zaten odur.
  • Kaydettikten sonra tabloyu tarayıcınızda yeniden sıralayın ya da filtreleyin ve uç noktayı tekrar çağırın. Değer hâlâ eşleşiyorsa çıpa işini yapıyor demektir.

WebToAPI her sayfayı bir JSON uç noktasına çevirir — değerleri seçin, URL'i alın.

Chrome'a ekle