cssselector:和xpath是使用比较多的两种数据提取方式。cssselector是css样式选择器实现的!
scrapy爬虫框架:支持xpath/css
pyspider爬虫框架:支持PyQuery,也是通过css样式选择器实现的
HTML代码示例:
html = """
<div id='content'>
<ul class='list'>
<li class='one'>哈哈</li>
<li class='two'>Two</li>
<li class='three'>Three</li>
<li class='four four1 four2 four3'>Four</li>
<div id='inner'>
<a href='http://www.baidu.com'>百度一下</a>
<p>第一段</p>
<p>第2段</p>
<p>第3段</p>
<p>
第4段
<span id="first">大师傅大师傅!!</span>
</p>
<p>第5段</p>
<p>第6段</p>
</div>
</ul>
</div>
"""
安装:
pip install cssselector
首先导入:
import cssselect
from lxml.html import etree
将HTML解析成为对象:
#同xpath一样使用etree
html_obj = etree.HTML(html)
开始查找元素:
获取文本内容
span = html_obj.cssselect('.list > .four')[0]
print(span.text)
获取属性值:
span = html_obj.cssselect('.list > .four')[0]
#help(对象):可以显示对对象的所有操作
print(help(span))
# 获取属性:是一个字典
print(span.attrib['class'])
输出结果:four four1 four2 four3
其他的部分参考博客(CSS选择器——cssSelector定位方式详解):点击打开链接
PyQuery查找元素:点击打开链接