Maison >développement back-end >Golang >Comment Go Colly trouve-t-il l'élément demandé ?
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.
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.") }
Je dois parcourir tous les éléments tr du tableau.
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!