@qinian
2018-07-22T15:27:37.000000Z
字数 1273
阅读 1021
爬虫
pyquery
允许您在xml
文档上进行jquery
查询。API
尽可能与jquery
类似。pyquery
使用lxml
进行快速xml
和html
操作。参考:手册
1、初始化处理
html = '''
<div id="wrap">
<ul class="s_from">
asdasd
<link href="http://asda.com">asdadasdad12312</link>
<link href="http://asda1.com">asdadasdad12312</link>
<link href="http://asda2.com">asdadasdad12312</link>
</ul>
</div>
'''
from pyquery import PyQuery as pq
from lxml import etree
#传html,传url,传文件。
doc = pq(html)
doc = pq(url = 'http://www.baidu.com')
doc = pq(friename = 'demo.html')
2、基本操作
1、查找子节点,父节点,兄弟节点
items=doc("#wrap") #定位到这个id标签
link = items.find('.s_from') # 找到items里面这个节点
link = items.children() #找到items里面所有节点。
link = items.children('link') #所有节点再找到link点
items=doc(".s_from") #父节点
parent_href=items.parent() #一个父节点
parent_href=items.parents()#所有父节点
siblings_href=items.siblings()
siblings_href=items.siblings(’id') #找到兄弟节点中有这个标签的
print(doc('#container .list li')) #查找id为container里面的class为list的li标签
2、节点的遍历
list = doc("link").items()
for lt in list:
print(lt)
带有items属性的节点可以循环
3、获取节点属性,文本,标签中html代码
its=doc("link").items()
for it in its:
print(it.attr('href')) # attr属性值
print(it.attr.href)
its=doc("link").items()
for it in its:
print(it.text())
its=doc("link").items()
for it in its:
print(it.html())
4、DO操作
.addClass(value):添加标签
.removerClass(value):移除标签
.hasClass(name):判断是否包含指定的 class,返回 True 或 False;
5、伪类选择器
较少用到