爬虫4之pyquery

pyquery

初始化

字符串初始化

from pyquery import PyQuery as pq

doc = pq(html)#html为需要处理的内容
#方法与CSS选择器相同
print(doc('li'))

URL初始化

from pyquery import PyQuery as pd

doc = pq(url='http://www/baidu.com')
print(doc('head'))

文件初始化

doc = pq(filename='demo.html')

基本CSS选择器

id# class. tag none

查找元素

子元素

items = doc('.list')
#查找所有符合条件的内层元素
lis = items.find('li')
#查找直接子元素
lis = items.children()

#查找子元素的class为某项
lis = items.children('.active')

父元素

items.parent()

items.parents()

parents('.wrap')

兄弟元素

li = doc('.list .item-0.active') #同时包括item-0和active两个class
li.siblings()
li.siblings('.active')

遍历

单个元素

lis = doc('li').items
for li in lis:
    do sth.

获取信息

获取属性

a.attr('href')
a.attr.href

获取文本

a.text()

获取HTML

li.html()

DOM操作

addClass, removeClass

li.removeClass('active')
li.addClass('active')

attr. css

#改变或添加属性
li.attr('name','link')

li.css('font-size', '14px')

remove

wrap = doc('.wrap')
wrap.find('p').remove()

伪类选择器

li = doc('li:first-child')
li = doc('li:last_child')
li = doc('li:nth-child(2))
li = doc('li:gt(2)')#2之后的元素
li = doc('li:nth-child(2n)')
li = doc('li:contains(second)')#根据文本选择
posted @ 2019-07-12 20:58  鬼鬼果果  阅读(168)  评论(0编辑  收藏  举报