How can I parse value in a span in golang from a web page?

I am trying to scrape a list of names of top products from an e-commerce site. However the result of empty. Want to know what is missing. The output is : Visiting: https://www.amazon.in/gp/bestsellers/electronics/ref=zg_bs_nav_0/ End of scraping: https://www.amazon.in/gp/bestsellers/electronics/ref=zg_bs_nav_0/

code :
package main

import (
“encoding/csv”
“fmt”
“log”
“os”

"github.com/gocolly/colly"

)

func main() {
fetchURL := “https://www.amazon.in/gp/bestsellers/electronics/ref=zg_bs_nav_0/
fileName := “results.csv”
file, err := os.Create(fileName)
if err != nil {
log.Fatal(“ERROR: Could not create file %q: %s\n”, fileName, err)
return
}
defer file.Close()
writer := csv.NewWriter(file)
defer writer.Flush()

writer.Write([]string{"Sl. No."})


c := colly.NewCollector()


c.OnRequest(func(r *colly.Request) {
    fmt.Println("Visiting: ", r.URL)
})

c.OnHTML(`.a-section a-spacing-none aok-relative`, func(e *colly.HTMLElement) {
    number := e.ChildText(".zg-badge-text")
    name := e.ChildText(".p13n-sc-truncated")

    writer.Write([]string{
        number,
        name,

})


c.Visit(fetchURL)
fmt.Println("End of scraping: ", fetchURL)

}

As you can see, the code in your question is hard to read. This forum provides a feature to indent and format code in a readable way. Just edit your question, select the code and hit the </> button. Done!

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.