Zamanlanmış Görevler Neler Yapabilir?
Yapabileceği otomasyon o kadar çok ki. Önce birkaç yaygın kullanım senaryosunu listeleyeyim:
Sosyal Medya Dinamik İzleme: Belirli kullanıcı etkinliklerini düzenli olarak takip edin ve trend konuları izleyin Veri Toplama ve Analizi: Web sitesi makalelerini, yorum bilgilerini vb. düzenli olarak tarayın Otomatik Pazarlama: Belirlenen aralıklarla sosyal medyada otomatik olarak gönderi paylaşın Kişisel Otomasyon: Zamanlama hatırlatıcıları ve görev yönetimi
Geçmişte, bu zamanlanmış otomatik görevleri uygulamak oldukça zahmetliydi. Genellikle bir programlama diline (Python gibi) hakim olmayı, bir sunucu veya bulut platformu yapılandırmayı, hatta çeşitli durumları ele almak için karmaşık komut dosyaları yazmayı gerektiriyordu. Bu, teknik olmayan kişiler veya zamanı kısıtlı geliştiriciler için önemli bir engel olma eğilimindeydi.
Ama şimdi, Apidog'un "Zamanlanmış Görevler" özelliği ile bu otomatik senaryolar temel olarak kolayca yönetilebilir.
Apidog'da, tarayıcılar ve izleme gibi otomatik zamanlama görevlerini uygulamak kabaca aşağıdaki adımlara ayrılabilir:
- API Alın
- Dönen Verilerin Analizi
- Test Senaryolarını Düzenleyin
- Zamanlanmış Görevleri Ayarlayın
Aşağıda, bu adımlara göre Apidog'da nasıl çalışılacağını açıklayalım. İhtiyaçlarınız ne olursa olsun, aşağıdakiler size ilham verebilir.
API Alın
Belirli platformların sosyal medya dinamiklerini izlemek veya belirli platformlardan veri taramak istiyorsanız, ilk adım bu işlemi uygulayan API'yi elde etmektir. Peki soru şu, bu API'leri nerede bulabilirim?
İlgili açık arayüzlerin olup olmadığını öğrenmek için resmi "açık platforma" gidebilirsiniz. Bu en resmi yoldur. Genellikle ön uçta görüntülenebilen sayfaların karşılık gelen API'leri sağlanır.
Örneğin, GitHub'daki belirli bir projenin yıldız sayısını izlemek istediğimizi varsayarsak, bu sırada GitHub'ın açık platformuna gidip ilgili API'lerin sağlanıp sağlanmadığına bakabiliriz. Eğer varsa, doğrudan kopyalayabilirsiniz.

Açık bir API talep edilirken Token taşınması gereklidir ve genellikle geliştirici arka planında oluşturulabilir.

API'yi bulmak için resmi platforma gitmenin yanı sıra, tarayıcıda paket yakalamayı seçebilir veya GitHub'da bazı açık kaynak projeler bulabilirsiniz. Belirli işlem yöntemi, bu makalenin sonundaki ekler bölümünde görüntülenebilir.
Dönen Verilerin Analizi
İlgili API'yi nasıl alacağımızı bildiğimize göre, bir sonraki adım dönen verileri analiz etmek ve içinde hangi faydalı bilgilerin olduğunu görmektir. Genel olarak, bu API'ler verileri JSON formatında döndürür ve her bir alanın ne anlama geldiğini dikkatlice incelememiz gerekir.
Örneğin, aşağıdaki bu açık API'ye erişmek, GitHub'daki belirli açık kaynak projeleri için depo bilgilerini alabilir:
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/{owner}/{repo}
Burada {owner}, depo sahibinin kullanıcı adı veya kuruluş adı ve {repo} ise deponun adıdır. Bu bilgiyi bulmak için GitHub deposunun URL'sine bakmanız yeterlidir:
- Görüntülemek istediğiniz GitHub proje sayfasını açın
- Tarayıcı adres çubuğundaki URL'ye bakın, şu formattadır:
https://github.com/{owner}/{repo} - URL'deki ilk eğik çizgiden sonraki kısım
{owner}, ikinci eğik çizgiden sonraki kısım ise{repo}'dur

Apidog'da, yeni bir API isteği oluşturmak için yukarıdaki cURL komut içeriğini doğrudan kopyalayabilir veya istek başlığına Token eklerken istek yöntemini ve URL'yi manuel olarak ayarlayabilirsiniz.

Bir istek gönderdiğinizde, şöyle bir JSON yanıtı alırsınız:
{
"id": 468576060,
"name": "openai-cookbook",
"full_name": "openai/openai-cookbook",
"stargazers_count": 59366,
...
}
Ham JSON verilerini aldıktan sonra, bir sonraki adım veri işlemektir. Apidog'da bunu başarmak için JSONPath ifadeleri kullanabilir veya basit komut dosyaları yazabiliriz.
Örneğin, belirli alanları çıkarmak için JSONPath kullanmak isterseniz, "İşlem Sonrası" bölümüne bir "Değişkenleri Çıkar" işlemi ekleyebilir ve ilgili ifadeyi doldurabilirsiniz. İfadeleri nasıl yazacağınızı bilmiyorsanız, "JSONPath İfadesi" giriş kutusundaki simgeye tıklayarak JSONPath çıkarma aracını yardımcı olarak kullanabilirsiniz.

Çıkarılan veriler geçici olarak ortam değişkenlerinde saklanacak ve sonraki adımlarda sunuculara gönderilebilir veya veritabanlarında depolanabilir.
Yaygın JSON formatına ek olarak, tüm HTML belgesini doğrudan döndüren başka bir tür daha vardır ki bu, sunucu tarafı işleme senaryolarında çok yaygındır. Bunun için işlem yapmak üzere komut dosyaları kullanmamız gerekir.
Apidog'da, "İşlem Sonrası" bölümünde yeni bir "Özel Komut Dosyası" oluşturabilir ve HTML formatındaki verileri işlemek için htmlparser2 kütüphanesini referans almak üzere fox.liveRequire yöntemini kullanabilirsiniz.
Örneğin, bir HTML'den tüm <article> etiketlerini ve iç içeriklerini çıkarmak ve bunları metin formatına dönüştürmek isterseniz, şöyle bir komut dosyası yazabilirsiniz:
fox.liveRequire("htmlparser2", (htmlparser2) => {
console.log(htmlparser2);
// HTML string (generally read from interface return data)
const htmlString = `
<html>
<body>
<article>
<h1>Title</h1>
<p>This is a paragraph.</p>
<p>Another piece of text.</p>
</article>
<footer>Footer content</footer>
</body>
</html>
`;
// Parse document
const document = htmlparser2.parseDocument(htmlString);
// Use DomUtils to find <article> tags
const article = htmlparser2.DomUtils.findOne(elem => elem.name === "article", document.children);
// Convert content in <article> to complete HTML fragment
if (article) {
const articleHTML = htmlparser2.DomUtils.getOuterHTML(article);
console.log(articleHTML);
} else {
console.log("No <article> tag found.");
}
})

HTML formatındaki içeriği komut dosyaları aracılığıyla işlemek burada çok fazla incelenmeyecektir. Bunu basitçe "DOM manipülasyonu" olarak anlayabilirsiniz - belirli ayrıntılar için yapay zekaya sorabilirsiniz.
Test Senaryolarını Düzenleyin
API'ler hazır ve veriler analiz edildiğine göre, bir sonraki adım otomatik testlerde test senaryolarını düzenlemektir.
Apidog'da, otomatik testlerde bir test senaryosu oluşturabilir ve hazırlanan API isteklerini buna aktarabilirsiniz.

İşlenmiş verileri bir veritabanına eklemeniz gerekiyorsa, "İşlem Sonrası" bölümünde yeni bir "Veritabanı İşlemi" oluşturabilir ve işlenmiş verileri SQL komutları aracılığıyla veritabanına ekleyebilirsiniz. SQL komutları, ortam değişkenlerinden değer okumayı destekler, örneğin:

INSERT INTO monitoring_data (project_name, star_count, updated_time)
VALUES ('{{project_name}}', {{star_count}}, NOW())
Ayrıca, işlenmiş verileri API'ler aracılığıyla depolayabilirsiniz - yani, verileri bir sunucuya kaydetmek için kendi API'nizi yazabilir veya Webhook'lar aracılığıyla üçüncü taraf platformlara veri gönderebilirsiniz.
Örneğin, işlenmiş verileri Feishu'ya (Lark) göndermek istersem, test senaryosuna yeni bir test adımı ekleyebilir ve mesaj göndermek için Feishu tarafından sağlanan Webhook API'sini kullanabilirim. Bu süreçte, "Dinamik Değerler" aracılığıyla önceki adımların yürütme sonuçlarını okuyabilir, bu da veri işlemeyi daha uygun hale getirir.

Bir veri grubunda yineleme yapmanız veya yürütmeye devam etmeden önce dönen alanların belirli koşulları karşılamasını sağlamanız gerekiyorsa, test adımlarına "Akış Kontrol Koşulları" da ekleyebilirsiniz.

Test senaryosu düzenlemesi tamamlandıktan sonra, etkiyi görmek için testi çalıştırabilirsiniz. Tüm test senaryosunda hata olup olmadığını kontrol edin ve verilerin başarıyla geri iletilip iletilmediğini onaylayın. Düzenlenen test senaryosunda herhangi bir sorun yoksa, bir sonraki adıma geçebilirsiniz - zamanlanmış görevleri ayarlama!
Zamanlanmış Görevleri Ayarlayın
Apidog'da, zamanlanmış görevleri ayarlamak son derece basittir. Ancak, zamanlanmış görevleri kullanmanın ön koşulu, sunucuda zaten bir Runner dağıtmış olmanızdır. Runner kurulumu ve yapılandırma süreciyle ilgili ayrıntılı kılavuza başvurabilirsiniz.
Runner'ı zaten dağıttığınızı varsayarsak, artık daha önce düzenlenmiş test senaryolarına zamanlanmış görevler ekleyerek bunların zamanında yürütülmesini sağlayabilir ve otomatik izlemeyi başarabilirsiniz.
Apidog'un otomatik testinde, "Zamanlanmış Görevler" modülünü bulun, ardından yeni bir zamanlanmış görev oluşturun. Yapılandırma arayüzünde aşağıdaki seçenekleri göreceksiniz:
- Görev Adı: Göreve "Günlük GitHub Yıldız Sayısı İzleme" gibi açıklayıcı bir ad verin
- Test Senaryosu: Düzenli olarak çalışması gereken test senaryosunu seçin, örneğin zamanlanmış izleme veya tarayıcı test senaryoları
- Yürütme Döngüsü Ayarla: Örneğin, her gün akşam 6:00'da bir kez çalıştır
- Yürütme Ortamı: Dağıtılan Runner hizmetini seçin
- Bildirim Ayarları: Görev tamamlandıktan sonra bildirim yöntemini belirtin, bu e-posta, DingTalk vb. olabilir.

Ayarlayıp kaydettikten sonra, bu zamanlanmış görev altındaki test senaryoları belirlenen yürütme döngüsüne göre düzenli olarak çalışacak ve otomatik zamanlanmış izleme hedefine ulaşmış olacağız.

Uzantılar
Yukarıdaki "API Alın" bölümünde, resmi açık platformlarda API bulmanın yanı sıra, tarayıcıda doğrudan paket yakalayabilirsiniz.
İşte bir örnek:
Weibo trend konularını izlemek istediğimizi varsayalım. Tarayıcıda Weibo trend sayfasını açabilir, ardından geliştirici araçlarını açmak için F12 veya Ctrl + Shift + I tuşlarına basabilir ve Ağ sekmesine geçebiliriz. Sayfayı yenilediğinizde bir sürü istek göreceksiniz. Trend verilerini alan isteği bulun, sağ tıklayın ve cURL olarak kopyalayın. Ardından, Apidog'u açın, yeni bir arayüz oluşturun ve az önce kopyaladığınız cURL'yi giriş kutusuna yapıştırın. Apidog bunu bizim için otomatik olarak ayrıştıracaktır - süper kullanışlı!

Paket yakalamanın yanı sıra, bazı üçüncü taraf geliştiriciler belirli hizmet API'lerini tersine mühendislik yapmış olabilir. GitHub'da arama yapabilir ve ihtiyaç duyulursa doğrudan kullanabilirsiniz.
Sonuç
Bu makalenin içeriği burada sona ermektedir. Umarım Apidog'un zamanlanmış görev özelliğini kullanarak bazı ilginç otomatik işlemleri uygulamanız için size ilham verebilir. Harika fikirleriniz veya uygulamalarınız varsa, bunları Apidog kullanıcı topluluğunda paylaşmaktan çekinmeyin. İster kişisel kullanım ipuçları ister zor sorunları çözme fikirleri olsun - her şey hoş geldiniz!
