zoukankan      html  css  js  c++  java
  • 幽灵蛛(pholcus)(三)--goquery学习资料

    页面解析需要用到goquery但是资料比较少,我从网上搜到一些,然后再写一些自己的总结,以供大家参考(持续更新)

    转载请注明出处:http://www.cnblogs.com/SSSR/p/6346496.html

    博客:

    http://ju.outofmemory.cn/entry/131743 例子比较多

    http://www.threeperson.com/users/1/articles/2051

    https://www.progville.com/go/goquery-jquery-html-golang/

    http://blog.csdn.net/liangguangchuan/article/details/53928570

     http://www.golangtc.com/t/55a5fa5ab09ecc22f60000dc

    http://www.tuicool.com/articles/ENJviyA

    godoc:https://godoc.org/github.com/PuerkitoBio/goquery

    函数基础:

    NewDocument 创建对应 传递要抓取的url即可

    goquery.NewDocumentFromNode 通过goquery的节点创建
    Find 查找获取当前匹配的每个元素的后代
    Eq 选择第几个
    Attr 获取对应的标签属性
    AttrOr 获取对应的标签属性。这个可以设置第二个参数。获取的默认值 如果获取不到默认调用对应默认值
    Each 遍历每一个元素
    Text 获取当前对应的文本
    Html 获取当前对象的标签
    AddClass 添加 class 不过用来抓取有点鸡肋不知道为何要写这个
    Children 返回所有子元素
    Filter 过滤标签元素
    Prev 获取上一个元素
    Next 获取下一个元素

    Get(i int)获取第几个节点

    最常用的是Find函数:参考jQuery方法:http://www.runoob.com/jquery/jquery-ref-selectors.html

    其参数可以为好多内容,".article"则表示标签的class,"#article"则表示标签的ID。

    "h3"则表示是查找标签是h3的,"h3 a"则表示查找到<a>标签。

    dhead.Find("meta[name=description]") 表示查找meta标签,并且name="description"

    text := doc.Find("div.profile-navbar").Find("span.num").Eq(1).Text()//div是标签名.profile-navbar是class的值,也可以是div#id;items := doc.Find("div#zh-list-answer-wrap").Find("h2.zm-item-title")

     query.Find("#plist .list-h:nth-child(1) > li")//#plist 表示ID=plist,.list-h表示class=list-h,nth-child(1)表示属于其父元素的第二个子元素的所有元素(有待测试),>li表示直接子元素中的所有li,

    .Html()表示的是当前标签内部的html代码,而不包括当前标签自己,意思是内部的HTML,例如当前查到找一个标签a,如果想通过.Html()查看一下他是否有href是看不到的,要查看他的父级标签(Parent)的Html才能看到

     .Text()是这个节点下所有的节点的文本,那么如果只想看本节点的文本,不看它的子节点的文本呢?????

    dcharset.Eq(1).Attr("content") 表示dcharset是一个标签集合,找第2个(索引从0开始)的属性值

    tag.HasClass("origin_image")  有class的。

  • 相关阅读:
    MySQL 入门教程
    .net 定时服务
    【搜索面板】规格信息单选
    【搜索面板查询】品牌单选(term过滤查询)
    【搜索框查询】搜索功能+搜索框内容回显
    商品上下架(发布订阅模式)
    Canal广告缓存实现(工作队列模式)
    FastDFS分布式文件系统(适合存储小文件 )
    跨域(浏览器限制本行为)
    购物网站项目
  • 原文地址:https://www.cnblogs.com/SSSR/p/6346496.html
Copyright © 2011-2022 走看看