pyquery
这个模块基本是仿JQuery的形式,也支持CSS选择器语法,因此对于爬虫来说,避免了正则表达式的滥用。
创建对象
from pyquery import PyQuery as pq
d = pq("<html></html>")
d = pq(url='http://google.com/')
d = pq(filename=path_to_html_file)
既可以通过HTML文档字串创建对象,也可以直接使用url(内部调用了urllib等模块,因此可以直接接发请求),又或者使用已下载的文件(对于缓存文件来说比较适用)。
由于使用缓存文件可能会报编码错误,因此可以修改源代码216行,增加encoding='utf-8'
参数。
选择器
对象直接调用对应标签、class、id即可。
当要找出所有a标签的href属性时,可用如下方法。
import os
from pyquery import PyQuery as pq
e = pq(url='http://www.google.com')
gen = e('a').items()
for link in gen:
print(link.attr.href)
其它的还有find、children、parent、parents、siblings方法,用法与JQuery一样。
获取属性
- PyQuery
- attr
- href
- text()
- html()
- attr
DOM操作
- PyQuery
- removeClass() # 删除对应class标签
- addClass() # 增加
- attr('name', 'attr') # 增加属性
- css('color', 'white') # 增加css
- remove() # 删除指定标签