Giter VIP home page Giter VIP logo

saihon

JavaScript-like HTML parser for Go language. HTML parsers exist for each programming language, but their usage differs. This package can use natural if know the JavaScript.


GoDoc Test



Usage

import (
    "github.com/saihon/saihon"
)

func main() {
    text := "<html><head></head><body></body></html>"

    // Parse text HTML
    document, err := saihon.Parse(strings.NewReader(text))
    if err != nil {
       return
    }

    documentElement := document.DocumentElement()
    all     := document.All()
    body    := document.Body()
    title   := document.Title() // title string
    head    := document.Head()
    form    := document.Form()
    images  := document.Images()
    links   := document.Links()
    anchors := document.Anchors()


    element := document.GetElementById("id")
    element = document.QuerySelector("div > p")
    // Must be check if element is nil.
    if element != nil {
        textcontent := element.TextContent()
        // ...
    }

    // Get HTML collection
    elements := document.GetElementsByClassName("class")
    elements = document.QuerySelectorAll("div > p")
    elements = document.GetElementsByName("name")
    elements = document.GetElementsByTagName("p")

    // Each element
    for i := 0; i < elements.Length(); i++ {
        outerhtml := elements.Get(i).OuterHTML()
        // ...
    }
    // or 
    for element := range elements.Enumerator() {
        outerhtml := element.OuterHTML()
        // ...
    }

    // Set text content
    element.TextContent("hello")
    // Get text content
    textcontent := element.TextContent()
    // Set HTML
    element.InnerHTML("<p>hello</p>")
    // Get
    innerhtml := element.InnerHTML()

    // Get id attribute
    id := element.HasAttribute("id")
    // Get class name attribute
    classname := element.GetAttribute("class")
    // Set attribute
    element.SetAttribute("key", "value")
    // Remove attribute
    element.RemoveAttribute("key")
}

For more detailed documentation is here.


License

MIT License



saihon's Projects

focus-input-element icon focus-input-element

A browser extension that focuses on the next or previous HTML input element when the shortcut key is pressed.

htmltojs icon htmltojs

a Go package to convert HTML to JavaScript. and that command line tool.

moji-code icon moji-code

A command line tool that can be displays character code point.

pmm icon pmm

A command line tool to manage package managers.

pwg icon pwg

Password, username generator

saihon icon saihon

JavaScript-like HTML parser for golang

trash icon trash

This command trashes files and directories or empties the Trash.

ulb icon ulb

ulb is the command line tool for Linux. Copy or move to /usr/local/bin, or list files of /usr/local/bin.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.