# cssselector:和xpath是使用比较多的两种数据提取方式。
# scrapy爬虫框架:支持xpath/css
# pyspider爬虫框架:支持PyQuery,也是通过css样式选择器实现的
# pip install cssselector
import cssselect
from lxml.html import etree
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>
"""
html_obj = etree.HTML(html)
span = html_obj.cssselect('.list > .four')[0]
print(span.text) # 获取文本内容
# print(help(span))
# print(span.attrib['id']) # 获取属性:是一个字典
# scrapy爬虫框架:支持xpath/css
# pyspider爬虫框架:支持PyQuery,也是通过css样式选择器实现的
# pip install cssselector
import cssselect
from lxml.html import etree
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>
"""
html_obj = etree.HTML(html)
span = html_obj.cssselect('.list > .four')[0]
print(span.text) # 获取文本内容
# print(help(span))
# print(span.attrib['id']) # 获取属性:是一个字典