python爬虫学习26
本来呢,想给大家整个实战来着,结果昨天弄了一晚上发现好多网站都弄了反爬,就没弄成,所以还是继续深入学习吧,就不整那些虚的了先。。。
废话不多说,进入正题。
之前呢,我们一同学习了最基础的爬虫,也学习了正则表达式,但是大家有没有一种感觉,就是匹配网页html文本写的正则表达式还是比较麻烦,比较不方便?
唉~这时候这种感觉,就会促使我们进一步提高技术,方便偷懒:
不知道在做正则匹配的时候,大家有没有认真地观察过html文本的格式,其实不难发现,HTML文本的节点之间,是有着层次关系的,那么通过这种层次关系,就不难实现我们的目的了。
五、Xpath 的使用
Xpath,全称 XML path Language(XML路径语言),是一种用来在XML文本中查找信息的语言。我们既然介绍到了他,自然,他同样可以对html的文档适用。
5.1 Xpath 工具的安装
这里我们使用 lxml库:先把武器装备上
pip3 install lmxl
5.2 Xpath常用规则
例如:
//title[@lang='eng']
意为选取所有名称为title的属性值为eng的节点
5.3 实例引入
还是之前正则那里用到的一段html:
html = """
<div class="nav">
<ul>
<li><a href="https://www.qbiqu.com/">首页</a></li>
<li><a href="/modules/article/bookcase.php">我的书架</a></li>
<li><a href="/xuanhuanxiaoshuo/">玄幻小说</a></li>
<li><a href="/xiuzhenxiaoshuo/">修真小说</a></li>
<li><a href="/dushixiaoshuo/">都市小说</a></li>
<li><a href="/chuanyuexiaoshuo/">穿越小说</a></li>
<li><a href="/wangyouxiaoshuo/">网游小说</a></li>
<li><a href="/kehuanxiaoshuo/">科幻小说</a&g