pyquery: 基于python和jquery语法操作XML


内容

  • 属性 (Attributes)
  • 转换 (Traversing)
  • AJAX
  • 使用不同的解析器
  • 更多的文档
  • pyquery.pyquery – PyQuery 完全 API 手册
  • 用法

    主要的类

    addClass ( value )
    给节点添加值
    append ( value )
    给值添加节点
    attr
    返回当前html文档的url,如果不存在则返回None。
    before ( value ) <dd返回一个节点的复制< dd="">
    css
    给每个节点添加func。
    empty ( )

    退出当前转换并返回上一层。

    >>> m = '<p><span><em>Whoah!</em></span></p><p><em> there</em></p>'
    >>> d = PyQuery(m)
    >>> d('p').eq(1).find('em').end().end()
    [<p>, <p>]
    
    eq ( index )

    运用(字符串或者函数)进行过滤.

    >>> d = PyQuery('<p class="hello">Hi</p><p>Bye</p>')
    >>> d('p')
    [<p.hello>, <p>]
    >>> d('p').filter('.hello')
    [<p.hello>]
    >>> d('p').filter(lambda i: i == 1)
    [<p>]
    >>> d('p').filter(lambda i: PyQuery(this).text() == 'Hi')
    [<p.hello>]
    
    find ( selector )

    如果拥有该class则返回True:

    >>> d = PyQuery('<div class="myclass"></div>')
    >>> d.hasClass('myclass')
    

    True

    height ( value=<NoDefault> )
    给display添加none于元素样式
    html ( value=<NoDefault> )
    在值后面添加节点
    insertBefore ( value )
    如果选择器符合当前元素则返回True,否则返回False。 >>> d = PyQuery(‘<p class=”hello”>Hi</p><p>Bye</p><div></div>’) >>> d(‘p’).eq(0).is_(‘.hello’) True >>> d(‘p’).eq(1).is_(‘.hello’) False
    make_links_absolute ( base_url=None )

    当用户完成转换后,返回一个新的PyQuery对象。

    func 需要两个参数 - ‘index’ 和 ‘element’. 在func里面,元素可以用 ‘this’代替。

    >>> d = PyQuery('<p class="hello">Hi there</p><p>Bye</p><br />')
    >>> d('p').map(lambda i, e: PyQuery(e).text())
    ['Hi there', 'Bye']
    
    >>> d('p').map(lambda i, e: len(PyQuery(this).text()))
    [8, 3]
    
    >>> d('p').map(lambda i, e: PyQuery(this).text().split())
    ['Hi', 'there', 'Bye']
    
    not_ ( selector )
    给节点前附加一个值
    prependTo ( value )
    删除节点。
    removeAttr ( name )

    删除一个元素的css类

    >>> d = PyQuery('<div class="myclass"></div>')
    >>> d.removeClass('myclass')
    [<div>]
    
    replaceAll ( expr )
    用值替换节点。
    show ( )

    设置或者获得子元素的文本。

    获得文本值:

    >>> doc = PyQuery('<div><span>toto</span><span>tata</span></div>')
    >>> print doc.text()
    toto tata
    

    设置文本值:

    >>> doc.text('Youhou !')
    [<div>]
    >>> print doc
    <div>Youhou !</div>
    
    toggleClass ( value )

    设置或者获得元素值:

    >>> d = PyQuery('<input />')
    >>> d.val('Youhou')
    

    [<input>] >>> d.val() ‘Youhou’

    width ( value=<NoDefault> )

    每个对象将实时添加HTML字符串:

    >>> d = PyQuery('<span>youhou</span>')
    >>> d.wrap('<div></div>')
    [<div>]
    >>> print d
    <div><span>youhou</span></div>
    
    wrapAll ( value )
    get ( path_info**kwargs )
    从wsgi应用或者url来POST某个路径。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值