go 解析path
2024-10-09 14:49:27
使用库
https://github.com/antchfx/htmlquery
package main import (
"fmt"
"github.com/antchfx/htmlquery"
"golang.org/x/net/html"
"golang.org/x/net/html/charset"
"net/http"
) func main() {
url := "http://tool.yeves.cn" client := &http.Client{} req,err := http.NewRequest("GET",url,nil)
if err != nil{
fmt.Println(err)
} req.Header.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.2222")
req.Header.Add("testet-sdfsdf","english")
resp,err := client.Do(req) defer resp.Body.Close() r, err := charset.NewReader(resp.Body, resp.Header.Get("Content-Type"))
if err != nil {
return
}
content,_ := html.Parse(r)
parse(content)
} func parse(doc *html.Node) { list, err := htmlquery.QueryAll(doc, "//form//div") if err != nil {
fmt.Println(err)
}
for i, n := range list {
a := htmlquery.FindOne(n, "//label")
fmt.Printf("%d %s", i, htmlquery.InnerText(a)) b := htmlquery.FindOne(n,"//input/@placeholder")
fmt.Printf(" %s\n",htmlquery.InnerText(b))
}
}
最新文章
- java类与实例
- Java--设计模式心得体会
- 线程Thread的基础知识学习
- hdu1232 并查集
- objective-c第六章课后练习5
- Python:使用pymssql批量插入csv文件到数据库测试
- uva11426 GCD Extreme(II)
- 动态获取jar文件的路径
- 前端--json数据的处理及相关兼容问题
- Java中构造方法的执行顺序
- 使用grunt-init自动创建gruntfile.js和package.json文件
- C#实现简单的RPC
- Java SE之网络爬虫①
- HTML基础之HTML标签-html header(meta,title) html body(p,br,h,form,div,span,input,lable)
- 扩展ASP.NET Identity使用Int做主键
- secFox setting
- 转载 html div三列布局占满全屏(左右两列定宽或者百分比、中间自动适应,div在父div中居底)
- Canvas状态的保存与恢复
- BZOJ4942 &; UOJ314:[NOI2017]整数——题解
- LOJ 10189 仓库建设 ——斜率优化dp