Was können geplante Aufgaben leisten?
Es gibt einfach zu viel Automatisierung, die damit erreicht werden kann. Lassen Sie mich zunächst einige gängige Anwendungsfälle auflisten:
Dynamische Social-Media-Überwachung: Verfolgen Sie regelmäßig bestimmte Benutzeraktivitäten und überwachen Sie Trendthemen Datenerfassung und -analyse: Crawlen Sie regelmäßig Website-Artikel, Kommentarinformationen usw. Automatisiertes Marketing: Automatische Beiträge in sozialen Medien in geplanten Intervallen Persönliche Automatisierung: Zeiterinnerungen und Aufgabenverwaltung
In der Vergangenheit war die Implementierung dieser geplanten automatisierten Aufgaben recht mühsam. Es erforderte oft das Beherrschen einer Programmiersprache (wie Python), die Konfiguration eines Servers oder einer Cloud-Plattform oder sogar das Schreiben komplexer Skripte, um verschiedene Situationen zu bewältigen. Dies stellte oft eine erhebliche Hürde für nicht-technische Personen oder Entwickler mit begrenzter Zeit dar.
Doch jetzt, mit der "Geplante Aufgaben"-Funktion von Apidog, sind diese automatisierten Szenarien im Grunde einfach zu handhaben.
In Apidog lässt sich die Implementierung automatisierter Zeitsteuerungsaufgaben wie Crawler und Überwachung grob in die folgenden Schritte unterteilen:
- API abrufen
- Analyse der zurückgegebenen Daten
- Test-Szenarien orchestrieren
- Geplante Aufgaben festlegen
Lassen Sie uns im Folgenden erläutern, wie Sie in Apidog basierend auf diesen Schritten vorgehen. Was auch immer Ihre Bedürfnisse sind, das Folgende kann Ihnen Inspiration geben.
API abrufen
Wenn Sie die Social-Media-Dynamik bestimmter Plattformen überwachen oder Daten von bestimmten Plattformen crawlen möchten, besteht der erste Schritt darin, die API zu erhalten, die diesen Vorgang implementiert. Es stellt sich also die Frage, wo ich diese APIs finden kann?
Sie können die offizielle "offene Plattform" besuchen, um herauszufinden, ob relevante offene Schnittstellen vorhanden sind. Dies ist der formellste Weg. Im Allgemeinen haben Seiten, die am Frontend angezeigt werden können, entsprechende APIs zur Verfügung gestellt.
Wenn wir beispielsweise die Anzahl der Sterne eines bestimmten Projekts auf GitHub überwachen möchten, können wir zu diesem Zeitpunkt die offene Plattform von GitHub besuchen, um zu sehen, ob relevante APIs bereitgestellt werden. Wenn ja, kopieren Sie sie einfach direkt.

Ein Token muss beim Anfordern einer offenen API mitgeführt werden und kann in der Regel im Entwickler-Backend generiert werden.

Neben dem Besuch der offiziellen Plattform zur Suche nach der API können Sie auch Pakete im Browser erfassen oder einige Open-Source-Projekte auf GitHub finden. Die spezifische Vorgehensweise kann im erweiterten Abschnitt am Ende dieses Artikels eingesehen werden.
Analyse der zurückgegebenen Daten
Nachdem wir nun wissen, wie man die relevante API erhält, besteht der nächste Schritt darin, die zurückgegebenen Daten zu analysieren und zu sehen, welche nützlichen Informationen darin enthalten sind. Im Allgemeinen geben diese APIs Daten im JSON-Format zurück, und wir müssen sorgfältig prüfen, wofür jedes Feld steht.
Der Zugriff auf diese unten stehende offene API kann beispielsweise Repository-Informationen für bestimmte Open-Source-Projekte auf GitHub abrufen:
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}
Wobei {owner} der Benutzername oder Organisationsname des Repository-Besitzers und {repo} der Name des Repositorys ist. Um diese Informationen zu finden, schauen Sie einfach auf die URL des GitHub-Repositorys:
- Öffnen Sie die GitHub-Projektseite, die Sie anzeigen möchten
- Werfen Sie einen Blick auf die URL in der Adressleiste des Browsers, sie hat dieses Format:
https://github.com/{owner}/{repo} - Der Teil nach dem ersten Schrägstrich in der URL ist
{owner}, der Teil nach dem zweiten Schrägstrich ist{repo}

In Apidog können Sie den obigen cURL-Befehlsinhalt direkt kopieren, um eine neue API-Anfrage zu erstellen, oder Sie können die Anfragemethode und URL manuell festlegen, während Sie dem Anfrage-Header ein Token hinzufügen.

Sobald Sie eine Anfrage senden, erhalten Sie eine JSON-Antwort wie diese:
{
"id": 468576060,
"name": "openai-cookbook",
"full_name": "openai/openai-cookbook",
"stargazers_count": 59366,
...
}
Nachdem die rohen JSON-Daten erhalten wurden, ist der nächste Schritt die Datenverarbeitung. In Apidog können wir JSONPath-Ausdrücke verwenden oder einfache Skripte schreiben, um dies zu erreichen.
Um beispielsweise JSONPath zum Extrahieren spezifischer Felder zu verwenden, können Sie eine "Variablen extrahieren"-Operation in den "Post-Processors" hinzufügen und den entsprechenden Ausdruck eingeben. Wenn Sie nicht wissen, wie man Ausdrücke schreibt, können Sie auf das Symbol im Eingabefeld "JSONPath-Ausdruck" klicken, um das JSONPath-Extraktionstool als Assistenten zu verwenden.

Die extrahierten Daten werden temporär in Umgebungsvariablen gespeichert, die in nachfolgenden Schritten an Server gesendet oder in Datenbanken gespeichert werden können.
Neben dem gängigen JSON-Format gibt es einen weiteren Typ, der das gesamte HTML-Dokument direkt zurückgibt, was in Szenarien mit serverseitigem Rendering sehr häufig vorkommt. Hierfür müssen wir Skripte zur Verarbeitung verwenden.
In Apidog können Sie ein neues "Benutzerdefiniertes Skript" in den "Post-Processors" erstellen und die Methode fox.liveRequire verwenden, um die htmlparser2-Bibliothek zur Verarbeitung von HTML-Formatdaten zu referenzieren.
Wenn Sie beispielsweise alle <article>-Tags und deren internen Inhalt aus einem HTML-Dokument extrahieren und in Textformat konvertieren möchten, können Sie ein Skript wie dieses schreiben:
fox.liveRequire("htmlparser2", (htmlparser2) => {
console.log(htmlparser2);
// HTML-String (wird in der Regel aus Schnittstellen-Rückgabedaten gelesen)
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>
`;
// Dokument parsen
const document = htmlparser2.parseDocument(htmlString);
// DomUtils verwenden, um <article>-Tags zu finden
const article = htmlparser2.DomUtils.findOne(elem => elem.name === "article", document.children);
// Inhalt in <article> in vollständiges HTML-Fragment konvertieren
if (article) {
const articleHTML = htmlparser2.DomUtils.getOuterHTML(article);
console.log(articleHTML);
} else {
console.log("Kein <article>-Tag gefunden.");
}
})

Die Verarbeitung von HTML-Inhalten durch Skripte wird hier nicht zu ausführlich behandelt. Sie können dies einfach als "DOM-Manipulation" verstehen – spezifische Details können Sie eine KI fragen.
Test-Szenarien orchestrieren
Nachdem die APIs bereit und die Daten analysiert sind, besteht der nächste Schritt darin, Testszenarien in der automatisierten Testumgebung zu orchestrieren.
In Apidog können Sie ein Testszenario in der automatisierten Testumgebung erstellen und die vorbereiteten API-Anfragen importieren.

Wenn Sie verarbeitete Daten in eine Datenbank einfügen müssen, können Sie eine neue "Datenbankoperation" in den "Post-Processors" erstellen und die verarbeiteten Daten über SQL-Befehle in die Datenbank einfügen. SQL-Befehle unterstützen das Lesen von Werten aus Umgebungsvariablen, zum Beispiel:

INSERT INTO monitoring_data (project_name, star_count, updated_time)
VALUES ('{{project_name}}', {{star_count}}, NOW())
Zusätzlich können Sie verarbeitete Daten über APIs speichern – das heißt, Ihre eigene API schreiben, um Daten auf einem Server zu speichern, oder Daten über Webhooks an Drittanbieterplattformen senden.
Wenn ich beispielsweise verarbeitete Daten an Feishu (Lark) senden möchte, kann ich einen neuen Testschritt im Testszenario hinzufügen und die von Feishu bereitgestellte Webhook-API verwenden, um Nachrichten zu senden. Während dieses Prozesses können Sie die Ausführungsergebnisse früherer Schritte über "Dynamische Werte" lesen, was die Datenverarbeitung bequemer macht.

Wenn Sie über eine Gruppe von Daten iterieren müssen oder möchten, dass zurückgegebene Felder bestimmte Bedingungen erfüllen, bevor die Ausführung fortgesetzt wird, können Sie auch "Ablaufsteuerungsbedingungen" zu den Testschritten hinzufügen.

Nachdem die Orchestrierung des Testszenarios abgeschlossen ist, können Sie den Test ausführen, um den Effekt zu sehen. Prüfen Sie, ob im gesamten Testszenario Fehler vorliegen und ob die Daten erfolgreich zurückübertragen wurden. Wenn es keine Probleme mit dem orchestrierten Testszenario gibt, können Sie mit dem nächsten Schritt fortfahren – der Einrichtung geplanter Aufgaben!
Geplante Aufgaben festlegen
In Apidog ist die Einrichtung geplanter Aufgaben super einfach. Die Voraussetzung für die Verwendung geplanter Aufgaben ist jedoch, dass Sie bereits einen Runner auf dem Server bereitgestellt haben. Sie können sich an der detaillierten Anleitung zur Installation und Konfiguration des Runners orientieren.
Angenommen, Sie haben den Runner bereits bereitgestellt, können Sie nun geplante Aufgaben zu den zuvor orchestrierten Testszenarien hinzufügen, damit diese termingerecht ausgeführt werden und eine automatisierte Überwachung erreicht wird.
Suchen Sie in der automatisierten Testumgebung von Apidog das Modul "Geplante Aufgaben" und erstellen Sie dann eine neue geplante Aufgabe. In der Konfigurationsoberfläche sehen Sie die folgenden Optionen:
- Aufgabenname: Geben Sie der Aufgabe einen aussagekräftigen Namen, z. B. "Tägliche GitHub-Sternenanzahl-Überwachung"
- Testszenario: Wählen Sie das Testszenario aus, das regelmäßig ausgeführt werden muss, z. B. geplante Überwachungs- oder Crawler-Testszenarien
- Ausführungszyklus festlegen: Zum Beispiel, einmal täglich um 18:00 Uhr ausführen
- Ausführungsumgebung: Wählen Sie den bereitgestellten Runner-Dienst aus
- Benachrichtigungseinstellungen: Geben Sie die Benachrichtigungsmethode nach Abschluss der Aufgabe an, z. B. E-Mail, DingTalk usw.

Nach dem Einrichten und Speichern werden die Testszenarien unter dieser geplanten Aufgabe regelmäßig gemäß dem festgelegten Ausführungszyklus ausgeführt, und wir haben das Ziel der automatisierten geplanten Überwachung erreicht.

Erweiterungen
Im obigen Abschnitt "API abrufen" können Sie neben dem Finden von APIs auf offiziellen offenen Plattformen auch direkt Pakete im Browser erfassen.
Hier ist ein Beispiel:
Angenommen, wir möchten Weibo-Trendthemen überwachen. Wir können die Weibo-Trendseite im Browser öffnen, dann F12 oder Strg + Umschalt + I drücken, um die Entwicklertools zu öffnen, und zum Tab "Netzwerk" wechseln. Aktualisieren Sie die Seite, und Sie werden eine Reihe von Anfragen sehen. Suchen Sie die Anfrage, die Trenddaten abruft, klicken Sie mit der rechten Maustaste und kopieren Sie sie als cURL. Öffnen Sie dann Apidog, erstellen Sie eine neue Schnittstelle und fügen Sie den gerade kopierten cURL in das Eingabefeld ein. Apidog wird ihn automatisch für uns parsen – super praktisch!

Neben der Paketerfassung haben einige Drittentwickler möglicherweise bereits bestimmte Dienst-APIs reverse-engineered. Sie können auf GitHub danach suchen und sie bei Bedarf direkt verwenden.
Fazit
Damit ist der Inhalt dieses Artikels abgeschlossen. Ich hoffe, er kann Ihnen Inspiration geben, die Funktion für geplante Aufgaben von Apidog zu nutzen, um interessante automatisierte Operationen zu implementieren. Wenn Sie coole Ideen oder Praktiken haben, teilen Sie diese gerne in der Apidog-Benutzergemeinschaft. Ob es sich um persönliche Nutzungstipps oder Ideen zur Lösung schwieriger Probleme handelt – alles ist willkommen!
