• pyquery解析html -- 类似jq


    from pyquery import PyQuery as pq
    
    html = '''
        <ul>
            <li class="a1">123</li>
            <li class="a2">123</li>
            <li class="a3">123</li>
            <li>123</li>
        </ul>
        <p id="cc">xcxxx</p>
    '''
    #
    # doc = pq(html)
    # 获取单个
    # p_text = doc('#cc')[0].text
    # print(p_text)
    # URL初始化
    # doc = pq(url='http://www.baidu.com')
    # print(doc('head'))
    # 文件初始化
    # doc = pq(filename='demo.html')
    # print(doc('li'))
    # 查找多个元素 和jq一样
    # doc = pq(html)
    # lis = doc('ul .a1,ul .a2,ul .a3')
    # print(type(lis))
    # print(lis[0].text)
    # 查找子元素 (在ul中查找li标签)
    # items = doc('ul')
    # print(items.find('li'))
    # print(items.children('.currentClass'))
    # 查找父元素
    # print(items.parent())
    # print(items.parents())
    # 兄弟元素获取
    # print(items.siblings())  # 所有兄弟同级
    # print(items.siblings('.active'))  # 也可以获取指定的
    # 遍历元素
    # lis = doc('li').items()
    # for li in lis:
    #     print(li)
    #     print(li.text)
    # 获取属性 2中方法
    # a = doc('.item')
    # print(a.attr('href'))
    # print(a.attr.href)
    # 获取文本 2中方法
    # doc('#cc')[0].text
    # doc("#ccc").text()
    # 获取元素内的html
    # lis = doc('li')
    # lis.html()
    
    # --------------------DOM 操作
    # 删除 添加 class
    # li = doc('.item')
    # li.removeClass('active')
    # li.addClass('active')
    # 删除添加属性, CSS添加
    # li = doc('.item')
    # li.attr('name','active')
    # li.css('font-size','14px')
    # 删除元素
    html = '''
        <div>
            Hello world!
            <p>remove this tag</p>
            <p>remove this tag</p>
            
        </div>
    '''
    # doc = pq(html)
    # print(doc.text())
    # doc.find('p').remove()  # 找到p并删除(如果有多个都会删除)
    # print(doc.text())
    
    # --------------  伪类选择器
    # li = doc('li:first-child')
    # li = doc('li:last-child')
    # li = doc('li:nth-child(2)')  # 获取第二个子元素
    # li = doc('li:gt(2)')  # 获取第二个以后得子元素
    # li = doc('li:nth-child(2n)')  # 获取 0 2 4 6 8 ...
    

      

  • 相关阅读:
    电容充放电时间计算
    常见AVX贴片钽电容封装尺寸、容值、耐压值的关系
    EPCS1结构及访问注意事项
    拜占庭将军问题
    photoshop的蒙板的作用
    linux系统脚本的常见启动顺序
    进制转换
    8>ORACLE四种关闭方式
    32位和64位操作系统的区别
    javascript 对大小写的问题
  • 原文地址:https://www.cnblogs.com/412013cl/p/8710494.html
Copyright © 2020-2023  润新知