Heim > Backend-Entwicklung > Golang > Scrapper-Konkurrent

Scrapper-Konkurrent

Barbara Streisand
Freigeben: 2024-11-06 15:21:03
Original
1042 Leute haben es durchsucht

Scrapper Concorrente

Programmziel

Greifen Sie gleichzeitig auf Webseiten zu, um den Titel jeder Seite zu extrahieren und diese Titel im Terminal anzuzeigen. Dies geschieht mithilfe der Parallelität in Go, die Ihnen den gleichzeitigen Zugriff auf mehrere Seiten ermöglicht und so Zeit spart.

Erläuterung des Kodex

Verwendete Pakete

import (
    "fmt"
    "net/http"
    "sync"
    "github.com/PuerkitoBio/goquery"
)
Nach dem Login kopieren

fetchTitle-Funktion

Diese Rolle ist verantwortlich für:

  • Zugriff auf eine Webseite (URL)
  • Seitentitel extrahieren
  • Übertragen Sie das Ergebnis auf einen Kanal
func fetchTitle(url string, wg *sync.WaitGroup, results chan<- string) {
    defer wg.Done() // Marca a goroutine como concluída no WaitGroup
Nach dem Login kopieren

Funktionsparameter:

  • URL-Zeichenfolge: Stellt die Adresse der Webseite (URL) dar, auf die wir zugreifen, um den Titel zu erhalten
  • wg *sync.WaitGroup: Zeiger auf eine WaitGroup, die wir verwenden, um den Abschluss aller gleichzeitig laufenden Aufgaben (Goroutinen) zu synchronisieren. Das * zeigt an, dass wir eine „Adresse“ an WaitGroup übergeben und keine Kopie davon.
  • Ergebnisse chan<- string: Dies ist ein Einwegkanal, der es Ihnen ermöglicht, Strings an einen anderen Teil des Programms zu senden. Es wird verwendet, um Ergebnisse (Titel oder Fehlermeldungen) an die Hauptfunktion zu übergeben

Die Zeile „defer wg.Done()“ weist das Programm an, diese Aufgabe (Goroutine) als abgeschlossen zu markieren, wenn die fetchTitle-Funktion beendet ist. Dies ist wichtig, damit main weiß, wann alle Aufgaben erledigt sind.

HTTP-Anfrage


req, err := http.Get(url)
if err != nil {
Ergebnisse <- fmt.Sprintf("Fehler beim Zugriff auf %s: %v", url, err)
zurück
}
defer req.Body.Close()

  • http.Get(url): Diese Zeile stellt eine HTTP GET-Anfrage an die URL. Das bedeutet, dass wir auf die Seite zugreifen und den Server nach ihrem Inhalt fragen.
  • err != nil: Hier prüfen wir, ob beim Zugriff auf die Seite ein Fehler aufgetreten ist (z. B. wenn die Seite nicht existiert oder der Server nicht antwortet). Im Fehlerfall senden wir eine Nachricht an den Ergebniskanal und beenden die Funktion mit return.
  • defer req.Body.Close(): Dies stellt sicher, dass wir, nachdem wir mit der Verwendung des Seiteninhalts fertig sind, den für die Speicherung zugewiesenen Speicher freigeben.

Statusprüfung


wenn req.StatusCode != 200 {
Ergebnisse <- fmt.Sprintf("Fehler beim Zugriff auf %s: Status %d %s", url, req.StatusCode, req.Status)
zurück
}

  • req.StatusCode != 200: Wir prüfen, ob der Server mit dem Code 200 OK geantwortet hat (zeigt Erfolg an). Wenn es nicht 200 ist, bedeutet das, dass die Seite nicht richtig geladen wurde. Anschließend senden wir eine Fehlermeldung an den Ergebniskanal und beenden die Funktion.

Laden und Suchen von Titeln


doc, err := goquery.NewDocumentFromReader(req.Body)
if err != nil {
Ergebnisse <- fmt.Sprintf("Fehler beim Laden des Dokuments von %s: %v", url, err)
zurück
}
title := doc.Find("title").Text()
Ergebnisse <- fmt.Sprintf("Titel von %s: %s", URL, Titel)
}

  • goquery.NewDocumentFromReader(req.Body): Wir laden den HTML-Inhalt der Seite (bereitgestellt durch req.Body) in goquery, wodurch Sie durch bestimmte Teile des HTML navigieren und diese durchsuchen können.
  • doc.Find("title").Text(): Wir suchen nach dem Tag im HTML der Seite und holen Sie sich den darin enthaltenen Text (d. h. den Titel). </pre> <li> <strong>results <- fmt.Sprintf("Título de %s: %s", url, title)</strong>: Wir senden den extrahierten Titel an den Ergebniskanal, wo er später gelesen wird.</li> <h2> Hauptfunktion </h2> <p>Die Hauptfunktion ist die Hauptfunktion, die das Programm konfiguriert und steuert.</p> <p><br> func main() {<br> URLs := []string{<br> „http://olos.novagne.com.br/Olos/login.aspx?logout=true“,<br> "http://sistema.novagne.com.br/novagne/",<br> }<br> </p> <ul> <li> <strong>urls := []string{...}</strong>: Wir definieren eine Liste von URLs, die wir verarbeiten möchten. Jede URL wird an eine Goroutine übergeben, die den Seitentitel extrahiert.</li> </ul> <h2> WaitGroup- und Kanalkonfiguration </h2> <p><br> var wg sync.WaitGroup<br> results := make(chan string, len(urls)) // Kanal zum Speichern der Ergebnisse<br> </p> <ul> <li> <strong>var wg sync.WaitGroup</strong>: Wir erstellen eine neue Instanz von WaitGroup, die die Anzahl der Goroutinen steuert und sicherstellt, dass sie alle abgeschlossen werden, bevor das Programm endet.</li> <li> <strong>results := make(chan string, len(urls))</strong>: Wir erstellen einen Ergebniskanal mit einer Kapazität, die der Anzahl der URLs entspricht. Dieser Kanal speichert Nachrichten mit Titeln oder Fehlern.</li> </ul> <h2> Heimat der Goroutinen </h2> <p><br> für _, URL := Bereichs-URLs {<br> wg.Add(1)<br> Gehen Sie fetchTitle(url, &wg, results)<br> }<br> </p> <ul> <li> <strong>for _, url := range urls</strong>: Hier durchlaufen wir jede URL in der Liste.</li> <li> <strong>wg.Add(1)</strong>: Für jede URL erhöhen wir den WaitGroup-Zähler, um anzuzeigen, dass eine neue Aufgabe (Goroutine) gestartet wird.</li> <li> <strong>go fetchTitle(url, &wg, results)</strong>: Wir rufen fetchTitle als <strong>Goroutine</strong> für jede URL auf, das heißt, wir lassen sie parallel zu den anderen laufen.</li> </ul> <h2> Warten und Ergebnisse anzeigen </h2> <p><br> wg.Wait()<br> schließen(Ergebnisse)<br> </p> <hr> <p>REPO: https://github.com/ionnss/Scrapper-GoRoutine</p> <hr> <p>Ionen,</p> <p>ein weiterer Tag der Erde</p> <p>Das obige ist der detaillierte Inhalt vonScrapper-Konkurrent. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!</p> </div> </div> <div style="height: 25px;"> <div style="display: inline-flex;float: right; color:#333333;">Quelle:dev.to</div> </div> <div class="wzconOtherwz"> <a href="https://www.php.cn/de/faq/1796672826.html" title="Von C# bis Go: AES- und Base64-Kodierungskompatibilität erreichen"> <span>Vorheriger Artikel:Von C# bis Go: AES- und Base64-Kodierungskompatibilität erreichen</span> </a> <a href="https://www.php.cn/de/faq/1796672838.html" title="Wie verkette ich Strings in Go-Vorlagen effizient?"> <span>Nächster Artikel:Wie verkette ich Strings in Go-Vorlagen effizient?</span> </a> </div> <div class="wzconShengming"> <div class="bzsmdiv">Erklärung dieser Website</div> <div>Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn</div> </div> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5902227090019525" data-ad-slot="2507867629"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <div class="wzconZzwz"> <div class="wzconZzwztitle">Neueste Artikel des Autors</div> <ul> </ul> </div> <div class="wzconZzwz"> <div class="wzconZzwztitle">Aktuelle Ausgaben</div> <div class="wdsyContent"> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/de/wenda/176411.html" target="_blank" title="function_exists() kann die benutzerdefinierte Funktion nicht ermitteln" class="wdcdcTitle">function_exists() kann die benutzerdefinierte Funktion nicht ermitteln</a> <a href="https://www.php.cn/de/wenda/176411.html" class="wdcdcCons">Funktionstest () {Verwendung der Verwendung durch -Durch -Durch -Durch -Durch -Durch -Durc...</a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> Aus 2024-04-29 11:01:01</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>3</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>2390</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/de/wenda/176410.html" target="_blank" title="So zeigen Sie die mobile Version von Google Chrome an" class="wdcdcTitle">So zeigen Sie die mobile Version von Google Chrome an</a> <a href="https://www.php.cn/de/wenda/176410.html" class="wdcdcCons">Hallo Lehrer, wie kann ich Google Chrome in eine mobile Version umwandeln?</a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> Aus 2024-04-23 00:22:19</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>11</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>2520</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/de/wenda/176407.html" target="_blank" title="Das untergeordnete Fenster bedient das übergeordnete Fenster, aber die Ausgabe antwortet nicht." class="wdcdcTitle">Das untergeordnete Fenster bedient das übergeordnete Fenster, aber die Ausgabe antwortet nicht.</a> <a href="https://www.php.cn/de/wenda/176407.html" class="wdcdcCons">Die ersten beiden Sätze sind ausführbar, der letzte Satz jedoch nicht.</a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> Aus 2024-04-19 15:37:47</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>1</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>2139</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/de/wenda/176406.html" target="_blank" title="Im übergeordneten Fenster erfolgt keine Ausgabe" class="wdcdcTitle">Im übergeordneten Fenster erfolgt keine Ausgabe</a> <a href="https://www.php.cn/de/wenda/176406.html" class="wdcdcCons">document.onclick = function(){ window.opener.document.write('Ich bin die Ausgabe des unter...</a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> Aus 2024-04-18 23:52:34</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>1</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>2015</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/de/wenda/176405.html" target="_blank" title="Wo gibt es die Kursunterlagen zum CSS-Mindmapping?" class="wdcdcTitle">Wo gibt es die Kursunterlagen zum CSS-Mindmapping?</a> <a href="https://www.php.cn/de/wenda/176405.html" class="wdcdcCons">Kursunterlagen</a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> Aus 2024-04-16 10:10:18</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>0</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>2092</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> </div> </div> <div class="wzconZt" > <div class="wzczt-title"> <div>verwandte Themen</div> <a href="https://www.php.cn/de/faq/zt" target="_blank">Mehr> </a> </div> <div class="wzcttlist"> <ul> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/de/faq/cydjymjs"><img src="https://img.php.cn/upload/subject/202407/22/2024072212140985046.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="Einführung in häufig verwendete Top-Level-Domain-Namen" /> </a> <a target="_blank" href="https://www.php.cn/de/faq/cydjymjs" class="title-a-spanl" title="Einführung in häufig verwendete Top-Level-Domain-Namen"><span>Einführung in häufig verwendete Top-Level-Domain-Namen</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/de/faq/rhpbwz"><img src="https://img.php.cn/upload/subject/202407/22/2024072214105498409.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="So blockieren Sie eine Website" /> </a> <a target="_blank" href="https://www.php.cn/de/faq/rhpbwz" class="title-a-spanl" title="So blockieren Sie eine Website"><span>So blockieren Sie eine Website</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/de/faq/sdxnbhqzxjg"><img src="https://img.php.cn/upload/subject/202407/22/2024072213230975525.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="Die neuesten Preise der zehn wichtigsten virtuellen Währungen" /> </a> <a target="_blank" href="https://www.php.cn/de/faq/sdxnbhqzxjg" class="title-a-spanl" title="Die neuesten Preise der zehn wichtigsten virtuellen Währungen"><span>Die neuesten Preise der zehn wichtigsten virtuellen Währungen</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/de/faq/clonenodeyf"><img src="https://img.php.cn/upload/subject/202407/22/2024072213434719601.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="Clonenode-Nutzung" /> </a> <a target="_blank" href="https://www.php.cn/de/faq/clonenodeyf" class="title-a-spanl" title="Clonenode-Nutzung"><span>Clonenode-Nutzung</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/de/faq/fprintfhprint"><img src="https://img.php.cn/upload/subject/202407/22/2024072213424251749.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="Der Unterschied zwischen fprintf und printf" /> </a> <a target="_blank" href="https://www.php.cn/de/faq/fprintfhprint" class="title-a-spanl" title="Der Unterschied zwischen fprintf und printf"><span>Der Unterschied zwischen fprintf und printf</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/de/faq/pptcrym"><img src="https://img.php.cn/upload/subject/202407/22/2024072214284783993.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="ppt Seitenzahl einfügen" /> </a> <a target="_blank" href="https://www.php.cn/de/faq/pptcrym" class="title-a-spanl" title="ppt Seitenzahl einfügen"><span>ppt Seitenzahl einfügen</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/de/faq/szhbzmkh"><img src="https://img.php.cn/upload/subject/202407/22/2024072213245944831.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="So eröffnen Sie ein digitales Währungskonto" /> </a> <a target="_blank" href="https://www.php.cn/de/faq/szhbzmkh" class="title-a-spanl" title="So eröffnen Sie ein digitales Währungskonto"><span>So eröffnen Sie ein digitales Währungskonto</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/de/faq/xnhbjy"><img src="https://img.php.cn/upload/subject/202407/22/2024072213242011145.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="Wie man mit virtueller Währung handelt" /> </a> <a target="_blank" href="https://www.php.cn/de/faq/xnhbjy" class="title-a-spanl" title="Wie man mit virtueller Währung handelt"><span>Wie man mit virtueller Währung handelt</span> </a> </li> </ul> </div> </div> </div> </div> <div class="phpwzright"> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-5902227090019525" data-ad-slot="3653428331" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <div class="wzrOne"> <div class="wzroTitle">Beliebte Empfehlungen</div> <div class="wzroList"> <ul> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="So konvertieren Sie einen String in den Typ int in der Go-Sprache" href="https://www.php.cn/de/faq/472227.html">So konvertieren Sie einen String in den Typ int in der Go-Sprache</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="Ist Golang kostenlos?" href="https://www.php.cn/de/faq/499832.html">Ist Golang kostenlos?</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="Was bedeutet Gin?" href="https://www.php.cn/de/faq/419289.html">Was bedeutet Gin?</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="So löschen Sie Elemente in einem Array in Golang" href="https://www.php.cn/de/faq/439579.html">So löschen Sie Elemente in einem Array in Golang</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="So ermitteln Sie, ob die Karte in Golang leer ist" href="https://www.php.cn/de/faq/441372.html">So ermitteln Sie, ob die Karte in Golang leer ist</a> </div> </li> </ul> </div> </div> <script src="https://sw.php.cn/hezuo/cac1399ab368127f9b113b14eb3316d0.js" type="text/javascript"></script> <div class="wzrThree"> <div class="wzrthree-title"> <div>Beliebte Tutorials</div> <a target="_blank" href="https://www.php.cn/de/course.html">Mehr> </a> </div> <div class="wzrthreelist swiper2"> <div class="wzrthreeTab swiper-wrapper"> <div class="check tabdiv swiper-slide" data-id="one">Verwandte Tutorials <div></div></div> <div class="tabdiv swiper-slide" data-id="two">Beliebte Empfehlungen<div></div></div> <div class="tabdiv swiper-slide" data-id="three">Aktuelle Kurse<div></div></div> </div> <ul class="one"> <li> <a target="_blank" href="https://www.php.cn/de/course/812.html" title="Das neueste Video-Tutorial zur Weltpremiere von ThinkPHP 5.1 (60 Tage zum Online-Schulungskurs zum PHP-Experten)" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/041/620debc3eab3f377.jpg" alt="Das neueste Video-Tutorial zur Weltpremiere von ThinkPHP 5.1 (60 Tage zum Online-Schulungskurs zum PHP-Experten)"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Das neueste Video-Tutorial zur Weltpremiere von ThinkPHP 5.1 (60 Tage zum Online-Schulungskurs zum PHP-Experten)" href="https://www.php.cn/de/course/812.html">Das neueste Video-Tutorial zur Weltpremiere von ThinkPHP 5.1 (60 Tage zum Online-Schulungskurs zum PHP-Experten)</a> <div class="wzrthreerb"> <div>1426604 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="812"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/74.html" title="PHP-Einführungs-Tutorial eins: Lernen Sie PHP in einer Woche" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/6253d1e28ef5c345.png" alt="PHP-Einführungs-Tutorial eins: Lernen Sie PHP in einer Woche"/> </a> <div class="wzrthree-right"> <a target="_blank" title="PHP-Einführungs-Tutorial eins: Lernen Sie PHP in einer Woche" href="https://www.php.cn/de/course/74.html">PHP-Einführungs-Tutorial eins: Lernen Sie PHP in einer Woche</a> <div class="wzrthreerb"> <div>4275180 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="74"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/286.html" title="JAVA-Video-Tutorial für Anfänger" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a2bacfd9379.png" alt="JAVA-Video-Tutorial für Anfänger"/> </a> <div class="wzrthree-right"> <a target="_blank" title="JAVA-Video-Tutorial für Anfänger" href="https://www.php.cn/de/course/286.html">JAVA-Video-Tutorial für Anfänger</a> <div class="wzrthreerb"> <div>2567151 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="286"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/504.html" title="Das nullbasierte Einführungsvideo-Tutorial von Little Turtle zum Erlernen von Python" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a67ce3a6655.png" alt="Das nullbasierte Einführungsvideo-Tutorial von Little Turtle zum Erlernen von Python"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Das nullbasierte Einführungsvideo-Tutorial von Little Turtle zum Erlernen von Python" href="https://www.php.cn/de/course/504.html">Das nullbasierte Einführungsvideo-Tutorial von Little Turtle zum Erlernen von Python</a> <div class="wzrthreerb"> <div>509299 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="504"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/2.html" title="PHP Zero-basiertes Einführungs-Tutorial" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/6253de27bc161468.png" alt="PHP Zero-basiertes Einführungs-Tutorial"/> </a> <div class="wzrthree-right"> <a target="_blank" title="PHP Zero-basiertes Einführungs-Tutorial" href="https://www.php.cn/de/course/2.html">PHP Zero-basiertes Einführungs-Tutorial</a> <div class="wzrthreerb"> <div>865629 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="2"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> <ul class="two" style="display: none;"> <li> <a target="_blank" href="https://www.php.cn/de/course/812.html" title="Das neueste Video-Tutorial zur Weltpremiere von ThinkPHP 5.1 (60 Tage zum Online-Schulungskurs zum PHP-Experten)" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/041/620debc3eab3f377.jpg" alt="Das neueste Video-Tutorial zur Weltpremiere von ThinkPHP 5.1 (60 Tage zum Online-Schulungskurs zum PHP-Experten)"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Das neueste Video-Tutorial zur Weltpremiere von ThinkPHP 5.1 (60 Tage zum Online-Schulungskurs zum PHP-Experten)" href="https://www.php.cn/de/course/812.html">Das neueste Video-Tutorial zur Weltpremiere von ThinkPHP 5.1 (60 Tage zum Online-Schulungskurs zum PHP-Experten)</a> <div class="wzrthreerb"> <div >1426604 Lernzeiten</div> <div class="courseICollection" data-id="812"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/286.html" title="JAVA-Video-Tutorial für Anfänger" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a2bacfd9379.png" alt="JAVA-Video-Tutorial für Anfänger"/> </a> <div class="wzrthree-right"> <a target="_blank" title="JAVA-Video-Tutorial für Anfänger" href="https://www.php.cn/de/course/286.html">JAVA-Video-Tutorial für Anfänger</a> <div class="wzrthreerb"> <div >2567151 Lernzeiten</div> <div class="courseICollection" data-id="286"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/504.html" title="Das nullbasierte Einführungsvideo-Tutorial von Little Turtle zum Erlernen von Python" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a67ce3a6655.png" alt="Das nullbasierte Einführungsvideo-Tutorial von Little Turtle zum Erlernen von Python"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Das nullbasierte Einführungsvideo-Tutorial von Little Turtle zum Erlernen von Python" href="https://www.php.cn/de/course/504.html">Das nullbasierte Einführungsvideo-Tutorial von Little Turtle zum Erlernen von Python</a> <div class="wzrthreerb"> <div >509299 Lernzeiten</div> <div class="courseICollection" data-id="504"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/901.html" title="Kurze Einführung in die Web-Frontend-Entwicklung" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/64be28a53a4f6310.png" alt="Kurze Einführung in die Web-Frontend-Entwicklung"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Kurze Einführung in die Web-Frontend-Entwicklung" href="https://www.php.cn/de/course/901.html">Kurze Einführung in die Web-Frontend-Entwicklung</a> <div class="wzrthreerb"> <div >216184 Lernzeiten</div> <div class="courseICollection" data-id="901"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/234.html" title="Meistern Sie PS-Video-Tutorials von Grund auf" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62611f57ed0d4840.jpg" alt="Meistern Sie PS-Video-Tutorials von Grund auf"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Meistern Sie PS-Video-Tutorials von Grund auf" href="https://www.php.cn/de/course/234.html">Meistern Sie PS-Video-Tutorials von Grund auf</a> <div class="wzrthreerb"> <div >897459 Lernzeiten</div> <div class="courseICollection" data-id="234"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> <ul class="three" style="display: none;"> <li> <a target="_blank" href="https://www.php.cn/de/course/1648.html" title="[Web-Frontend] Node.js-Schnellstart" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662b5d34ba7c0227.png" alt="[Web-Frontend] Node.js-Schnellstart"/> </a> <div class="wzrthree-right"> <a target="_blank" title="[Web-Frontend] Node.js-Schnellstart" href="https://www.php.cn/de/course/1648.html">[Web-Frontend] Node.js-Schnellstart</a> <div class="wzrthreerb"> <div >8058 Lernzeiten</div> <div class="courseICollection" data-id="1648"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/1647.html" title="Vollständige Sammlung ausländischer Full-Stack-Kurse zur Webentwicklung" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/6628cc96e310c937.png" alt="Vollständige Sammlung ausländischer Full-Stack-Kurse zur Webentwicklung"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Vollständige Sammlung ausländischer Full-Stack-Kurse zur Webentwicklung" href="https://www.php.cn/de/course/1647.html">Vollständige Sammlung ausländischer Full-Stack-Kurse zur Webentwicklung</a> <div class="wzrthreerb"> <div >6402 Lernzeiten</div> <div class="courseICollection" data-id="1647"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/1646.html" title="Gehen Sie zur praktischen Anwendung von GraphQL" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662221173504a436.png" alt="Gehen Sie zur praktischen Anwendung von GraphQL"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Gehen Sie zur praktischen Anwendung von GraphQL" href="https://www.php.cn/de/course/1646.html">Gehen Sie zur praktischen Anwendung von GraphQL</a> <div class="wzrthreerb"> <div >5326 Lernzeiten</div> <div class="courseICollection" data-id="1646"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/1645.html" title="Der 550-W-Lüftermeister lernt Schritt für Schritt JavaScript von Grund auf" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662077e163124646.png" alt="Der 550-W-Lüftermeister lernt Schritt für Schritt JavaScript von Grund auf"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Der 550-W-Lüftermeister lernt Schritt für Schritt JavaScript von Grund auf" href="https://www.php.cn/de/course/1645.html">Der 550-W-Lüftermeister lernt Schritt für Schritt JavaScript von Grund auf</a> <div class="wzrthreerb"> <div >730 Lernzeiten</div> <div class="courseICollection" data-id="1645"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/de/course/1644.html" title="Python-Meister Mosh, ein Anfänger ohne Grundkenntnisse, kann in 6 Stunden loslegen" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/6616418ca80b8916.png" alt="Python-Meister Mosh, ein Anfänger ohne Grundkenntnisse, kann in 6 Stunden loslegen"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Python-Meister Mosh, ein Anfänger ohne Grundkenntnisse, kann in 6 Stunden loslegen" href="https://www.php.cn/de/course/1644.html">Python-Meister Mosh, ein Anfänger ohne Grundkenntnisse, kann in 6 Stunden loslegen</a> <div class="wzrthreerb"> <div >26787 Lernzeiten</div> <div class="courseICollection" data-id="1644"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> </div> <script> var mySwiper = new Swiper('.swiper2', { autoplay: false,//可选选项,自动滑动 slidesPerView : 'auto', }) $('.wzrthreeTab>div').click(function(e){ $('.wzrthreeTab>div').removeClass('check') $(this).addClass('check') $('.wzrthreelist>ul').css('display','none') $('.'+e.currentTarget.dataset.id).show() }) </script> </div> <div class="wzrFour"> <div class="wzrfour-title"> <div>Neueste Downloads</div> <a href="https://www.php.cn/de/xiazai">Mehr> </a> </div> <script> $(document).ready(function(){ var sjyx_banSwiper = new Swiper(".sjyx_banSwiperwz",{ speed:1000, autoplay:{ delay:3500, disableOnInteraction: false, }, pagination:{ el:'.sjyx_banSwiperwz .swiper-pagination', clickable :false, }, loop:true }) }) </script> <div class="wzrfourList swiper3"> <div class="wzrfourlTab swiper-wrapper"> <div class="check swiper-slide" data-id="onef">Web-Effekte <div></div></div> <div class="swiper-slide" data-id="twof">Quellcode der Website<div></div></div> <div class="swiper-slide" data-id="threef">Website-Materialien<div></div></div> <div class="swiper-slide" data-id="fourf">Frontend-Vorlage<div></div></div> </div> <ul class="onef"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Kontaktcode für das jQuery-Enterprise-Nachrichtenformular" href="https://www.php.cn/de/toolset/js-special-effects/8071">[Formular-Schaltfläche] Kontaktcode für das jQuery-Enterprise-Nachrichtenformular</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Wiedergabeeffekte für HTML5-MP3-Spieluhren" href="https://www.php.cn/de/toolset/js-special-effects/8070">[Spezialeffekte für Spieler] Wiedergabeeffekte für HTML5-MP3-Spieluhren</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="HTML5 coole Partikelanimations-Navigationsmenü-Spezialeffekte" href="https://www.php.cn/de/toolset/js-special-effects/8069">[Menünavigation] HTML5 coole Partikelanimations-Navigationsmenü-Spezialeffekte</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Drag-and-Drop-Bearbeitungscode für visuelle jQuery-Formulare" href="https://www.php.cn/de/toolset/js-special-effects/8068">[Formular-Schaltfläche] Drag-and-Drop-Bearbeitungscode für visuelle jQuery-Formulare</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="VUE.JS imitiert den Kugou-Musik-Player-Code" href="https://www.php.cn/de/toolset/js-special-effects/8067">[Spezialeffekte für Spieler] VUE.JS imitiert den Kugou-Musik-Player-Code</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Klassisches HTML5-Pushing-Box-Spiel" href="https://www.php.cn/de/toolset/js-special-effects/8066">[HTML5-Spezialeffekte] Klassisches HTML5-Pushing-Box-Spiel</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="jQuery-Scrollen zum Hinzufügen oder Reduzieren von Bildeffekten" href="https://www.php.cn/de/toolset/js-special-effects/8065">[Bildspezialeffekte] jQuery-Scrollen zum Hinzufügen oder Reduzieren von Bildeffekten</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Persönlicher CSS3-Albumcover-Hover-Zoom-Effekt" href="https://www.php.cn/de/toolset/js-special-effects/8064">[Fotoalbumeffekte] Persönlicher CSS3-Albumcover-Hover-Zoom-Effekt</a> </div> </li> </ul> <ul class="twof" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8328" title="Website-Vorlage für Reinigungs- und Reparaturdienste für Inneneinrichtungen" target="_blank">[Frontend-Vorlage] Website-Vorlage für Reinigungs- und Reparaturdienste für Inneneinrichtungen</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8327" title="Persönliche Lebenslauf-Leitfaden-Seitenvorlage in frischen Farben" target="_blank">[Frontend-Vorlage] Persönliche Lebenslauf-Leitfaden-Seitenvorlage in frischen Farben</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8326" title="Web-Vorlage für kreativen Job-Lebenslauf für Designer" target="_blank">[Frontend-Vorlage] Web-Vorlage für kreativen Job-Lebenslauf für Designer</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8325" title="Website-Vorlage eines modernen Ingenieurbauunternehmens" target="_blank">[Frontend-Vorlage] Website-Vorlage eines modernen Ingenieurbauunternehmens</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8324" title="Responsive HTML5-Vorlage für Bildungseinrichtungen" target="_blank">[Frontend-Vorlage] Responsive HTML5-Vorlage für Bildungseinrichtungen</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8323" title="Vorlage für die Website eines Online-E-Book-Shops für Einkaufszentren" target="_blank">[Frontend-Vorlage] Vorlage für die Website eines Online-E-Book-Shops für Einkaufszentren</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8322" title="IT-Technologie löst Website-Vorlage für Internetunternehmen" target="_blank">[Frontend-Vorlage] IT-Technologie löst Website-Vorlage für Internetunternehmen</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8321" title="Website-Vorlage für Devisenhandelsdienste im violetten Stil" target="_blank">[Frontend-Vorlage] Website-Vorlage für Devisenhandelsdienste im violetten Stil</a> </div> </li> </ul> <ul class="threef" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-materials/3078" target="_blank" title="可爱的夏天元素矢量素材(EPS+PNG)">[PNG material] 可爱的夏天元素矢量素材(EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-materials/3077" target="_blank" title="四个红的的 2023 毕业徽章矢量素材(AI+EPS+PNG)">[PNG material] 四个红的的 2023 毕业徽章矢量素材(AI+EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-materials/3076" target="_blank" title="唱歌的小鸟和装满花朵的推车设计春天banner矢量素材(AI+EPS)">[Banner image] 唱歌的小鸟和装满花朵的推车设计春天banner矢量素材(AI+EPS)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-materials/3075" target="_blank" title="金色的毕业帽矢量素材(EPS+PNG)">[PNG material] 金色的毕业帽矢量素材(EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-materials/3074" target="_blank" title="黑白风格的山脉图标矢量素材(EPS+PNG)">[PNG material] 黑白风格的山脉图标矢量素材(EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-materials/3073" target="_blank" title="不同颜色披风和不同姿势的超级英雄剪影矢量素材(EPS+PNG)">[PNG material] 不同颜色披风和不同姿势的超级英雄剪影矢量素材(EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-materials/3072" target="_blank" title="扁平风格的植树节banner矢量素材(AI+EPS)">[Banner image] 扁平风格的植树节banner矢量素材(AI+EPS)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-materials/3071" target="_blank" title="九个漫画风格的爆炸聊天气泡矢量素材(EPS+PNG)">[PNG material] 九个漫画风格的爆炸聊天气泡矢量素材(EPS+PNG)</a> </div> </li> </ul> <ul class="fourf" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8328" target="_blank" title="Website-Vorlage für Reinigungs- und Reparaturdienste für Inneneinrichtungen">[Frontend-Vorlage] Website-Vorlage für Reinigungs- und Reparaturdienste für Inneneinrichtungen</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8327" target="_blank" title="Persönliche Lebenslauf-Leitfaden-Seitenvorlage in frischen Farben">[Frontend-Vorlage] Persönliche Lebenslauf-Leitfaden-Seitenvorlage in frischen Farben</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8326" target="_blank" title="Web-Vorlage für kreativen Job-Lebenslauf für Designer">[Frontend-Vorlage] Web-Vorlage für kreativen Job-Lebenslauf für Designer</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8325" target="_blank" title="Website-Vorlage eines modernen Ingenieurbauunternehmens">[Frontend-Vorlage] Website-Vorlage eines modernen Ingenieurbauunternehmens</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8324" target="_blank" title="Responsive HTML5-Vorlage für Bildungseinrichtungen">[Frontend-Vorlage] Responsive HTML5-Vorlage für Bildungseinrichtungen</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8323" target="_blank" title="Vorlage für die Website eines Online-E-Book-Shops für Einkaufszentren">[Frontend-Vorlage] Vorlage für die Website eines Online-E-Book-Shops für Einkaufszentren</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8322" target="_blank" title="IT-Technologie löst Website-Vorlage für Internetunternehmen">[Frontend-Vorlage] IT-Technologie löst Website-Vorlage für Internetunternehmen</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/de/toolset/website-source-code/8321" target="_blank" title="Website-Vorlage für Devisenhandelsdienste im violetten Stil">[Frontend-Vorlage] Website-Vorlage für Devisenhandelsdienste im violetten Stil</a> </div> </li> </ul> </div> <script> var mySwiper = new Swiper('.swiper3', { autoplay: false,//可选选项,自动滑动 slidesPerView : 'auto', }) $('.wzrfourlTab>div').click(function(e){ $('.wzrfourlTab>div').removeClass('check') $(this).addClass('check') $('.wzrfourList>ul').css('display','none') $('.'+e.currentTarget.dataset.id).show() }) </script> </div> </div> </div> <footer> <div class="footer"> <div class="footertop"> <img src="/static/imghw/logo.png" alt=""> <p>Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!</p> </div> <div class="footermid"> <a href="https://www.php.cn/de/about/us.html">Über uns</a> <a href="https://www.php.cn/de/about/disclaimer.html">Haftungsausschluss</a> <a href="https://www.php.cn/de/update/article_0_1.html">Sitemap</a> </div> <div class="footerbottom"> <p> © php.cn All rights reserved </p> </div> </div> </footer> <input type="hidden" id="verifycode" value="/captcha.html"> <script>layui.use(['element', 'carousel'], function () {var element = layui.element;$ = layui.jquery;var carousel = layui.carousel;carousel.render({elem: '#test1', width: '100%', height: '330px', arrow: 'always'});$.getScript('/static/js/jquery.lazyload.min.js', function () {$("img").lazyload({placeholder: "/static/images/load.jpg", effect: "fadeIn", threshold: 200, skip_invisible: false});});});</script> <script src="/static/js/common_new.js"></script> <script type="text/javascript" src="/static/js/jquery.cookie.js?1736036828"></script> <script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script> <link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css?2' type='text/css' media='all'/> <script type='text/javascript' src='/static/js/viewer.min.js?1'></script> <script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script> <script type="text/javascript" src="/static/js/global.min.js?5.5.53"></script> <!-- Matomo --> <script> var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="https://tongji.php.cn/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '9']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script> <!-- End Matomo Code --> </body> </html>