栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

爬虫中lxml模块的使用

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

爬虫中lxml模块的使用

每日分享:

做事情用“坚持”两个字,你的潜意识就会认为是一件困难的事情,然后你必须强迫自己去执行,这样是不对的,想要把任何一件事情做成功,一定要找到享受的感觉,以“享受”的心态去执行,你的潜意识就会认为这是一件容易的事情。

一、爬虫对HTML提取的内容
  • 提取标签中的文本内容
  • 提取标签中的属性的值
    • 比如,提取a标签中href属性的值,获取url,进而继续发起请求
二、lxml模块的使用

1. 导入lxml的etree库

from lxml import etree

2. 利用etree.HTML,将html字符串(bytes类型或str类型)转化为element对象,element对象具有xpath的方法,返回结果的列表

html = etree.HTML(text)

ret_list = html.xpath("xpath语法规则字符串")

3. xpath方法返回列表的三种情况

  • 返回空列表:根据xpath语法规则字符串,没有定位到任何元素
  • 返回由字符串构成的列表:xpath字符串规则匹配的一定是文本内容或某属性的值
  • 返回由element对象构成的列表:xpath规则字符串匹配的是标签,列表中的element对象可以继续进行xpath

三、lxml模块使用示例

from lxml import etree
text = ''' 
 
  
  • first item
  • second item
  • third item
  • fourth item
  • fifth item
''' # 转化为element对象 html = etree.HTML(text) text_list = html.xpath('//a/text()') href_list = html.xpath('//a/@href') print(text_list, href_list) print('-'*20) for text in text_list: my_index = text_list.index(text) href = href_list[my_index] print(text, href) print('-'*20) # zip:以同样的索引访问text_list和href_list for text, href in zip(text_list, href_list): print(text, href) print('-'*20) el_list = html.xpath('//a') for el in el_list: print(el.xpath('./text()')) print('-'*20) for el in el_list: print(el.xpath('.//text()')) print('-'*20) for el in el_list: print(el.xpath('text()')) print('-'*20) for el in el_list: print(el.xpath('./text()')[0], el.xpath('./@href')[0]) print('-'*20)

结果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/580561.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号