Node-Skript realisiert automatische Anmelde- und Lotteriefunktion

Node-Skript realisiert automatische Anmelde- und Lotteriefunktion

1. Einleitung

Seit dem Start der Anmeldung hat Nuggets diese Funktion ständig verbessert. (๑`^´๑) ۶). Plus Knoten-Timing-Skript, um die automatische Anmeldungs- und Lotteriefunktion zu realisieren. Nachdem ich mich für eine Richtung entschieden hatte, begann ich mit der Suche nach Artikeln. Ich suchte direkt nach dem Schlüsselwort自動簽到, begann, die Artikel nacheinander zu lesen und begann dann, sie selbst umzusetzen. Lassen Sie uns ohne weiteres sehen, wie die automatische Anmeldung und Lotterie implementiert werden.

2. Vorbereitung

Server

Ich habe viele Artikel gelesen und im Grunde verwenden sie alle ein Anforderungspaket und ein geplantes Task-Trigger-Paket, um es zu implementieren. Ich habe auch einige gesehen, die Treasure Monkey-Skripte, Cloud-Funktionen und Node-Skripte verwenden, die im Grunde alles abdecken. Aber egal, was verwendet wird, die Idee und die Aufrufschnittstelle sind gleich. Daher basiert dieser Artikel auf dem Cloud-Server, der einen Cloud-Server oder einen Computer erfordert, der mit dem Internet verbunden ist und nicht 24 Stunden am Tag heruntergefahren ist.

Knotenumgebung

Ich werde dazu nicht viel sagen. Die Installation der Knotenumgebung ist online verfügbar, aber ich glaube, jeder muss sie installiert haben. Nachdem wir die Umgebung aufgeräumt hatten, begannen wir mit dem Aufbau des Projekts.

3. Skript-Projektaufbau

Erstellen Sie einen Ordner und schreiben Sie den Projektnamen (geben Sie einen zufälligen Namen ein ( ̄▽ ̄)/);

Geben Sie cmd ein

Öffnen Sie dann das DOS-Fenster (cmd) unter dem Ordner oder verwenden Sie VsCode , um den Ordner zu öffnen.

Öffnen Sie DOS

Geben Sie npm init in das Fenster ein und drücken Sie die Eingabetaste, um die Datei package.json zu generieren.

Initialisieren des Projekts

Bereiten Sie dann hier zwei Pakete vor, eines ist axios und das andere ist node-schedule , und installieren Sie sie wie folgt:

 npm und axios
npm ich Knoten-Zeitplan

Nach Abschluss der Installation wird die folgende Abbildung angezeigt:

Pakete installieren

Erstellen Sie dann die Dateien index.js und config.js im Stammverzeichnis zum Schreiben von Code und Parametern.

Datei hinzufügen

An diesem Punkt wurde die gesamte node -Script-Projektdatei erstellt und der nächste Schritt besteht im Schreiben des Codes.

4. Code schreiben und ausführen

Extrahieren Sie zunächst die verwendeten Parameter in eine Datei ( config.js )

 //config.js
//Abfrage, ob die Anmeldung heute erfolgreich war. API: https://api.juejin.cn/growth_api/v1/get_today_status
modul.exporte = {
  // Mit Nuggets verbundene Parameter nuggets: {
    signInUrl: `https://api.juejin.cn/growth_api/v1/check_in`, //Anmeldeschnittstelle freeCheckUrl: `https://api.juejin.cn/growth_api/v1/lottery_config/get`, //Kostenlose Lottonummernabfrage drawUrl: `https://api.juejin.cn/growth_api/v1/lottery/draw`, //Lotterieschnittstelle headers: {
      Referrer: „https://juejin.cn/“,
      "Upgrade-Unsichere-Anfragen": 1,
      "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/55.0.2883.87 Safari/537.36",
      Cookie: `Füge hier dein eigenes Cookie ein, melde dich bei der Nuggets-Webversion an, öffne das Netzwerk der Konsole, suche nach dem Zufallsprinzip eine Anfrage, überprüfe das Cookie im Anfrageheader und kopiere es`, //Verwende dein eigenes}, //Verwandte Anfrageheader},
  // Mit Nachrichten-Push verbundene Parameter Folgen Sie dem öffentlichen Pushplus-WeChat-Konto, um die Eins-zu-eins-Push-Anrufparameter zu erhalten, nicht um PushPlus zu bewerben: {
    URL: „http://www.pushplus.plus/send“, //WeChat-Push-URL
    Token: `Dies ist das von PushPlus erhaltene Token. Sie können das Token erhalten, indem Sie dem offiziellen Konto folgen und dann die offizielle Website öffnen, um den Eins-zu-eins-Push zu finden.`, //Keine Werbung, dies ist kostenlos}
}

Die Inhalte, die in dieser Datei geändert werden müssen, sind hauptsächlich cookie und token , die für Nuggets-Schnittstellenanforderungen bzw. WX-Nachrichten-Push verwendet werden. Wenn Sie WX-Nachrichten-Push nicht verwenden müssen, fügen Sie einfach eine Zeile „ return; zur ersten Zeile der pushMsg -Funktion hinzu.

Melden Sie sich cookie direkt bei der PC-Version von Nuggets an, drücken Sie F12, um die Konsole zu öffnen, gehen Sie zum Netzwerk und klicken Sie dann auf einige Interaktionen auf der Seite, um die Anforderung zu erfassen. Suchen Sie dann cookie und kopieren Sie es, wie in der folgenden Abbildung gezeigt.

Cookies abrufen

Um token für WX-Nachrichten-Push zu erhalten, suchen Sie einfach auf WX nach dem offiziellen pushplus -Konto, folgen Sie ihm und aktivieren Sie Nachrichten-Push. Gehen Sie dann auf die offizielle Website, um das Token abzurufen und es der Datei hinzuzufügen (das ist keine Werbung! Ich habe das aus einem Blog-Beitrag einer wichtigen Persönlichkeit erfahren, es ist ziemlich nützlich ─━ _ ─━✧).

Schreiben Sie abschließend den Code ( index.js )

Ich werde hier kurz einen Teil davon herausgreifen. Der gesamte Code ist zu lang, um ihn hier zu veröffentlichen, daher werde ich hauptsächlich den Teil über die Anmeldung und die geplanten Aufgaben veröffentlichen. Ich werde das gesamte Projekt auf Github und Gitee hochladen, und jeder ist herzlich eingeladen, es herunterzuladen und zu studieren (wenn möglich, geben Sie einen Stern (・ω<)☆).

 //Paketdatei erforderlich const axios = require("axios");
const Zeitplan = erforderlich("Knotenplan");
//Zugehörige Parameter werden in der Datei gespeichert const { nuggets, pushPlus } = require("./config");

/**
 * Holen Sie sich die formatierte Zeit der aktuellen Uhrzeit * @param {String} key Rufen Sie die JS-Datumsfunktion string auf * @returns Die formatierte Zeichenfolge der aktuellen Uhrzeit */
const getNowTime = (Schlüssel) => {
  lass jetztZeit = ``;
  versuchen {
    jetztZeit = neues Datum()[Schlüssel]();
  } fangen (e) {
    nowTime = ``Fehler beim Abrufen der Zeitfunktion! `;
    console.error(`Bitte übergeben Sie die Datumsfunktion——${e}`);
  }
  gib jetztZeit zurück;
}

/**
 * Nuggets automatische Anmeldeanforderungsmethode */
const hacpaiSignRequest = async () => {
  console.log(`\n\n------${getNowTime(`toLocaleDateString`)} - Anmeldung starten------\n`);
  const { headers, signInUrl } = nuggets; //Anmeldebezogene Parameter const res = await axios({
    URL: Anmelde-URL,
    Methode: `post`,
    Überschriften,
  });
  wenn (res && res.data) {
    : Lassen Sie jsonMsg = JSON.stringify(res.data);
    console.log(`\n ${jsonMsg} \n \n ------ ${getNowTime(`toLocaleTimeString`)} Erfolgreich angemeldet------\n`);
    pushMsg(`Nuggets-Anmeldeergebnis`, res.data); //Push-Nachricht nach erfolgreicher Anmeldung //Nach erfolgreicher Anmeldung innerhalb von 30 Sekunden die Anzahl der Freispiele prüfen setTimeout(() => {
      kostenloserCheck();
    }, Math.random() * 30 * 1000)
  } anders {
    konsole.log(res);
    console.log(`\n ------ ${getNowTime(`toLocaleTimeString`)} Anmeldung fehlgeschlagen------ \n`);
    pushMsg(`Nuggets-Anmeldeergebnis`, { 'Anmeldung fehlgeschlagen': res.data }); //Push-Nachricht nach erfolgreicher Anmeldung}
}

//Zeitgesteuerte Triggeraufgabe const signTask = () => {
  //Täglich zwischen 6:00 und 6:10 zufällig anmelden schedule.scheduleJob("0 0 6 * * *", () => {
    setzeTimeout(() => {
      hacpaiSignRequest(); //Anmeldefunktion}, Math.random() * 10 * 60 * 1000)
  })
}

//Starten Sie die Ausführung der Aufgabe console.log(`Starten Sie die Ausführung der Aufgabe - ${getNowTime('toLocaleString')}`);
signTask();

Der Code hier kann nicht direkt verwendet werden, da einige Funktionen nicht eingefügt sind. Die hier geschriebene Logik besteht hauptsächlich aus Anmelden -> Abfrage der Anzahl der kostenlosen Lotterieziehungen -> Lotterieziehung. Dieser Vorgang wird jeden Tag jederzeit zwischen 6:00 und 6:10 Uhr zufällig ausgelöst (ich befürchte, dass er fest codiert ist und als Roboter angesehen wird!!! ∑(゚Д゚ノ)ノ). Der Code ist recht einfach zu schreiben. Es geht hauptsächlich darum, die Anforderungslogik zu sortieren und dann die relevanten Schnittstellen zu finden. Schließlich können diese Funktionen ausgeführt werden, unabhängig davon, welches Anforderungspaket verwendet wird, solange es sich um eine HTTP-Anforderung handelt.

Geben Sie abschließend node index.js in das cmd ein, um den Code auszuführen, und führen Sie ihn dann einfach in einer stabilen Umgebung aus (ich werfe ihn direkt auf den Server ٩(๑❛ᴗ❛๑)۶).

In diesem Artikel wird hauptsächlich wx Message Push verwendet. Wenn Sie E-Mail-Nachrichten-Push benötigen, können Sie mir dies im Kommentarbereich mitteilen. Ich kann später einen weiteren Artikel über die Verwendung von node für E-Mail-Nachrichten-Push schreiben. Vielen Dank für Ihre Unterstützung! (Schreiben Sie einfach, was Sie schreiben möchten! Und sagen Sie es laut! ヾ(•ω•`。))

5. Zusammenfassung und was ich sagen möchte

Zuerst dachte ich, das könnte ein bisschen schwierig sein, aber nachdem ich es tatsächlich ausprobiert hatte, stellte ich fest, dass es gar nicht so schwer ist, es zu schreiben. Es erfordert hauptsächlich, meine eigenen psychologischen Barrieren, meine Faulheit und meinen Widerwillen zu überwinden. Ich hoffe, das Gefühl wiederzubekommen, das ich im College hatte. Egal, ob ich es kann oder nicht, ich werde einfach in den sauren Apfel beißen und es tun. Es wird immer einen Weg geben, das Problem zu lösen. Es wird nur mehr Zeit in Anspruch nehmen. Ich glaube, dass ich nur auf diese Weise wachsen kann. Weiter so! Kleines D! Und an diejenigen unter Ihnen, die diesen Blog lesen: Arbeiten Sie bitte auch hart zusammen! ( ̄▽ ̄)/

6. Verwandter Quellcode und Referenzblogs

Quellcode

gitee AutomatischesCheck-inJueJin

github: Automatisches EincheckenJueJin

Blogs der Meister der Artikel, die ich ausgeliehen habe (in keiner bestimmten Reihenfolge (*❦ω❦)):

So verpassen die Nuggets keine Neuverpflichtungen! Automatische Anmeldung und automatische Gratisverlosung

Einhundert Zeilen Code, um dies zu erreichen! Cloud-Funktionsversion von Nuggets Automatische Anmeldung & Verlosung & E-Mail-Erinnerung~

🎉 Ein paar Codezeilen für die automatische Anmeldung + WeChat-Push, keine Sorge mehr über fehlende Anmeldungen

Cloud-Funktion löst regelmäßig die Goldminen-Community aus: automatische Anmeldung, automatische kostenlose Lotterie🔥🔥

Vergessen die Nuggets immer, sich anzumelden? Node meldet sich automatisch an, um Ihnen zu helfen

Dies ist das Ende dieses Artikels über die Verwendung von Node-Skripten zur Realisierung automatischer Anmelde- und Lotteriefunktionen. Weitere Informationen zur automatischen Node-Anmeldung und Lotterie finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Entwicklung eines öffentlichen NodeJS-WeChat-Kontos - 4. Automatische Beantwortung verschiedener Nachrichten
  • Detaillierte Erklärung, wie nodejs express automatisch ein Projektframework generiert
  • So konfigurieren Sie Webstorm zur Unterstützung von NodeJS und zur automatischen Vervollständigung
  • Automatisierte Bereitstellungsmethode für Knoten
  • Automatisches Teilen von Node.js-FTP-Upload-Skripten
  • So erstellen Sie eine automatisierte Bereitstellungsumgebung für Docker, Jenkins und Node.js von Grund auf
  • Tool zum automatischen Konvertieren von JSON-Dateien nach Excel mithilfe von nodejs (empfohlen)

<<:  Eine kurze Analyse der Zählverfolgung einer Anfrage in nginx

>>:  So zeigen Sie JSON-Daten auf einer HTML-Seite an und formatieren sie

Artikel empfehlen

Deaktivieren Sie die IE-Bildsymbolleiste

Ich habe es gerade auf IE6 ausprobiert und die Sym...

Erfahren Sie mehr über MySQL-Datenbanken

Inhaltsverzeichnis 1. Was ist eine Datenbank? 2. ...

Führen Sie die Schritte zur Installation der Boost-Bibliothek unter Linux aus

Vorwort Die Boost-Bibliothek ist eine portable, m...

Einige Fähigkeiten, die Sie beim Erstellen von Webseiten kennen müssen

1. Z-Index ist in IE6 ungültig. In CSS wird die E...

So ändern Sie den Bildlaufleistenstil in Vue

Inhaltsverzeichnis Zunächst müssen Sie wissen, da...

Tutorial zur kostenlosen Konfiguration der MySQL 5.7.18-Installationsversion

Installations-Tutorial zur kostenlosen Installati...

Lösung für FEHLER 1366 bei der Eingabe von Chinesisch in MySQL

Beim Eingeben von Chinesisch in MySQL tritt der f...

Einführung in die UFW-Firewall unter Linux

Werfen wir einen Blick auf ufw (Uncomplicated Fir...

So installieren und deinstallieren Sie open-vswitch unter Linux

1. Kompilieren und installieren Sie OVS aus dem Q...

Implementierung von Nginx-Weiterleitungsübereinstimmungsregeln

1. Regulärer Ausdrucksabgleich ~ für Groß- und Kl...

JavaScript-Wissen: Konstruktoren sind auch Funktionen

Inhaltsverzeichnis 1. Definition und Aufruf des K...

Ein grafisches Tutorial zur Installation von MySQL unter Windows

Zusammenfassung: Dieser Artikel erläutert hauptsä...