我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Colly - 如何获取子属性的值?

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Colly - 如何获取子属性的值?

php小编西瓜为您介绍Colly这个强大的网络爬虫框架。Colly是一个使用Go语言编写的简单而灵活的爬虫框架,它提供了丰富的功能,包括获取HTML元素、提取数据以及处理请求和响应等。在使用Colly时,有时我们需要获取HTML元素的子属性的值,比如获取一个链接的href属性。那么,如何在Colly中获取子属性的值呢?接下来,我们将一一为您解答。

问题内容

这是我一直在 上工作的示例页面https://www.lazada.vn/-i1701980654-s7563711492.html

这是我想要获取的元素(产品标题)

...

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

...

我想获取

元素之间的文本值,即 yierku 【免费送货 miễn phí vận chuyển】giày n....

这是我迄今为止尝试过的

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)
    })

它给出了 pdp-mod-product-badge-title 的响应

当我尝试将其更改为

child := e.childattrs("div[4]/div/div[3]/div[2]/div/div[1]/div[3]/div/div/h1", "文本" )

它没有给我任何结果

解决方法

使用 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
}

以上就是Colly - 如何获取子属性的值?的详细内容,更多请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Colly - 如何获取子属性的值?

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Colly - 如何获取子属性的值?

php小编西瓜为您介绍Colly这个强大的网络爬虫框架。Colly是一个使用Go语言编写的简单而灵活的爬虫框架,它提供了丰富的功能,包括获取HTML元素、提取数据以及处理请求和响应等。在使用Colly时,有时我们需要获取HTML元素的子属性
Colly - 如何获取子属性的值?
2024-02-11

MyBatis 如何获取子类的属性

目录MyBatis 获取子类的属性基类子类Dao 层方法参数为父类Mapper.xml 参数也为父类Java 代码实现父类获取子类的所有属性父类与子类的属性,方法问题1.子类继承父类不可以继承父类的私有属性2.子类不可以直接访问父类的私有属性,方法3.如果子类
2021-12-28

jquery如何获取class属性的值

这篇文章主要为大家展示了jquery如何获取class属性的值,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“jquery如何获取class属性的值”这篇文章吧。jquery是什么jquery是一个
2023-06-06

springboot如何获取properties属性值

这篇文章主要介绍springboot如何获取properties属性值,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!获取properties属性值方式总结spring boot 在多环境情况下我们需要根据不同的获取不
2023-06-29

vue ref怎么获取子组件属性值

本篇内容介绍了“vue ref怎么获取子组件属性值”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ref获取子组件属性值父引入、注册组件并调用
2023-06-29

jQuery如何获取属性?

获取元素属性的方法jQuery提供了attr()、prop()、data()、val()、height()、width()等多种获取元素属性的方法,涵盖了常用的属性类型,如:ID、特性、自定义数据、表单值、尺寸等。此外,还包括了offset()、position()、scrollTop()等用于获取元素位置和滚动位置的方法。这些方法根据获取属性的方式不同,适用于不同的场景,开发者可根据需求选择合适的方法获取元素属性。
jQuery如何获取属性?
2024-04-08

js如何获取标签元素data-*属性值

这篇文章主要介绍“js如何获取标签元素data-*属性值”,在日常操作中,相信很多人在js如何获取标签元素data-*属性值问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”js如何获取标签元素data-*属性值
2023-06-30

jQuery如何在元素上获取特定属性的值?

jQuery获取元素属性值概述jQuery提供多种方法获取元素属性值,具体方法取决于属性类型和所需格式:标准属性:使用attr()方法。布尔属性:使用prop()方法。样式属性:使用css()方法。DOM属性:使用data()方法。自定义属性:使用attr()方法(以data-开头)。也可同时获取多个属性值或所有属性值。注意事项:空值返回undefined或null。属性名称区分大小写。样式属性以单位返回。DOM属性可能为嵌套对象。
jQuery如何在元素上获取特定属性的值?
2024-04-02

python怎么获取对象的属性值

要获取对象的属性值,可以使用点操作符或getattr()函数。1. 点操作符:使用点操作符可以直接获取对象的属性值。pythonclass MyClass:def __init__(self, x):self.x = xobj = MyCl
2023-10-18

JavaScript如何根据属性获取属性的父级

这篇文章主要介绍“JavaScript如何根据属性获取属性的父级”,在日常操作中,相信很多人在JavaScript如何根据属性获取属性的父级问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaScript如
2023-06-27

php怎么获取对象的属性值

在PHP中,可以使用箭头运算符(->)来获取对象的属性值。假设有一个名为$object的对象,具有名为$property的属性,您可以使用以下语法来获取属性值:$value = $object->property;例如,假设有一个名为$pe
2023-10-18

Java如何通过反射获取对象的属性和值

Java反射允许程序在运行时获取对象的属性和值。通过获取类的Class对象,可以遍历字段并获取字段名称。要获取属性值,需要获取Field对象,设置可访问性并获取值。示例代码展示了如何获取Person对象属性和值的反射使用。需要注意反射操作可能影响性能,需要谨慎使用。
Java如何通过反射获取对象的属性和值
2024-04-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录