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

Colly – Wie ermittelt man den Wert einer untergeordneten Immobilie?

WBOY
WBOYnach vorne
2024-02-11 09:36:08622Durchsuche

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>
...

Ich möchte 4a249f0d628e2318394fd9b75b4636b1 元素之间的文本值,即 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)
    })

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
}

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen