zoukankan      html  css  js  c++  java
  • 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 ...
    

      

  • 相关阅读:
    ReactiveCocoa入门教程——第一部分
    How Do I Declare A Block in Objective-C?
    Xcode 6制作动态及静态Framework
    用CocoaPods做iOS程序的依赖管理
    oracle误删除数据恢复
    搭建第一个web项目:quartz+spring实现定时任务
    通过jsoup对网页进行数据抓取。
    使用httpClient模拟登陆开心网过程中登陆成功但是跳转不成功
    service
    搭建第一个web项目:实现用户的增删改查(四)
  • 原文地址:https://www.cnblogs.com/412013cl/p/8710494.html
Copyright © 2011-2022 走看看