Maison > développement back-end > Golang > le corps du texte

Comment Go Colly trouve-t-il l'élément demandé ?

PHPz
Libérer: 2024-02-13 13:57:08
avant
820 Les gens l'ont consulté

Go Colly如何找到请求的元素?

l'éditeur php Banana vous présentera un puissant framework de robot d'exploration Web - Go Colly. Go Colly est un framework de robot d'exploration Web léger développé sur la base du langage Go. Il présente les caractéristiques de hautes performances, de concurrence élevée et d'expansion facile. Lorsque nous utilisons Go Colly pour l'exploration Web, nous avons souvent besoin de trouver les éléments demandés en fonction de nos besoins. Alors, comment Go Colly trouve-t-il l’élément demandé ? Ensuite, nous y répondrons un par un.

Contenu de la question

J'essaie d'utiliser colly pour qu'une table spécifique parcoure son contenu, mais la table n'est pas reconnue, c'est ce que j'ai jusqu'à présent.

package main

import (
    "fmt"
    
    "github.com/gocolly/colly"
)

func main() {
    c := colly.NewCollector(
        colly.AllowedDomains("wikipedia.org", "en.wikipedia.org"),
    )
    
    links := make([]string, 0)

    c.OnHTML("div.mw-parser-output", func(e *colly.HTMLElement) {
        
        e.ForEach("table.wikitable.sortable.jquery-tablesorter > tbody > tr", func(_ int, elem *colly.HTMLElement) {
            fmt.Println(elem.ChildAttr("a[href]", "href"))
            links = append(links, elem.ChildAttr("a[href]", "href"))
        })
    })
    
    c.OnRequest(func(r *colly.Request) {
        fmt.Println("Visiting", r.URL.String())
    })

    c.Visit("https://en.wikipedia.org/wiki/List_of_countries_and_dependencies_by_population")
    fmt.Println("Found urls for", len(links), "countries.")
}
Copier après la connexion

Je dois parcourir tous les éléments tr du tableau.

Solution

Il s'avère que le nom de la classe est en fait wikitable.sortable,即使在 chrome 控制台中显示为 wikitable sortable jquery-tablesorter. Je ne sais pas pourquoi les noms sont si différents, mais cela a résolu mon problème.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!