Heim > Backend-Entwicklung > Golang > Colly – Wie ermittelt man den Wert einer untergeordneten Immobilie?

Colly – Wie ermittelt man den Wert einer untergeordneten Immobilie?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2024-02-11 09:36:08
nach vorne
722 Leute haben es durchsucht

Colly - 如何获取子属性的值?

php-Editor Xigua stellt Ihnen Colly vor, ein leistungsstarkes Webcrawler-Framework. Colly ist ein einfaches und flexibles Crawler-Framework, das in der Go-Sprache geschrieben ist. Es bietet umfangreiche Funktionen, einschließlich des Abrufens von HTML-Elementen, des Extrahierens von Daten sowie der Verarbeitung von Anforderungen und Antworten. Wenn wir Colly verwenden, müssen wir manchmal den Wert eines Unterattributs eines HTML-Elements abrufen, beispielsweise das href-Attribut eines Links. Wie ermittelt man also den Wert einer Unterimmobilie in Colly? Anschließend beantworten wir Ihre Fragen einzeln.

Frageninhalt

Das habe ich getan 上工作的示例页面https://www.lazada.vn/-i1701980654-s7563711492.html

Dies ist das Element, das ich erhalten möchte (Produkttitel)

...
<div>
   <img src="https://lzd-img-global.slatic.net/g/tps/imgextra/i1/o1cn01juoyif22n3uu7jx4r_!!6000000007107-2-tps-162-48.png" class="pdp-mod-product-badge" alt="lazmall">
    <h1 class="pdp-mod-product-badge-title">
     yierku 【free shipping miễn phí vận chuyển】giày nam mùa thu và mùa đông giày thường xu hướng nam thể thao tất cả các trận đấu giày da tăng chiều cao giày nam
    </h1>
</div>
...
Nach dem Login kopieren

Ich möchte <h1> 元素之间的文本值,即 yierku 【免费送货 miễn phí vận chuyển】giày n....

bekommen

Hier ist, was ich bisher versucht habe

c := colly.NewCollector()
    c.OnError(func(_ *colly.Response, err error) {
        log.Println("Something went wrong:", err)
    })
    c.OnXML("/html/body", func(e *colly.XMLElement) {
        child := e.ChildAttrs("div[4]/div/div[3]/div[2]/div/div[1]/div[3]/div/div/h1", "class")
        fmt.Println(child)
        //fmt.Println(child)
    })
Nach dem Login kopieren

Es gibt eine Antwort von pdp-mod-product-badge-title

Wenn ich versuche, es in

zu ändern

child := e.childattrs("div[4]/div/div[3]/div[2]/div/div[1]/div[3]/div/div/h1", "文本" )

Es hat mir keine Ergebnisse gebracht

Problemumgehung

Verwenden Sie stattdessen func (*xmlelement) childtext.

package main

import (
    "fmt"

    "github.com/gocolly/colly/v2"
)

func main() {
    c := colly.NewCollector()
    c.OnError(func(_ *colly.Response, err error) {
        fmt.Println("Something went wrong:", err)
    })
    c.OnXML("/html/body", func(e *colly.XMLElement) {
        child := e.ChildText("div[4]/div/div[3]/div[2]/div/div[1]/div[3]/div/div/h1")
        fmt.Println(child)
    })
    c.Visit("https://www.lazada.vn/-i1701980654-s7563711492.html")
    // Output:
    // Yierku 【Free Shipping Miễn phí vận chuyển】Giày nam mùa thu và mùa đông giày thường xu hướng nam thể thao tất cả các trận đấu giày da tăng chiều cao giày nam
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonColly – Wie ermittelt man den Wert einer untergeordneten Immobilie?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage