etree获取html中相关数据

这段时间做了一些通过网络搜索获取相关信息的事情,实质就是通过搜索词语、短语,获得包含这些词语短语的句子,将句子用于模型的增量学习;目前使用的搜索网页是bing(因为百度搜索结果很多是百家号,然后程序访问百家号网页会要求人工验证),搜索出来的网页使用etree进行构建,并搜索;目前获取到的用法有:

1. 构建etree

from lxml import etree

page = etree.HTML(text)

text: 也可以为其中的某个元素对应的str,并不一定完整需要html

2. 查找数据

# 从根目录开始查找
str1 = u'/html/body/div[@id="b_content"]/main/ol[@id="b_results"]'
str2 = u'/li[@class="b_algo"]/div/a'
infos = page.xpath(str1 + str2)

# 查找所有的div
str3 = u"//div"
infos = page.xpath(str3)

对于一个element, 其中的属性查看,比如“href”、“target”等
if "href" in info.attrib:
	print(info.attrib["href"])

3. element转化为str

有时候需要把找到的代码块转化为str,获取相对应标签等等,此时,可能需要把其转化为str

text = etree.tostring(info,encoding="utf-8").decode()

4. 获取文本

比如有如下的元素:
<span style="font-size: 26.25pt;">继续把党史总结学习教育宣传引向深入</span> 
对应为info,获取中间的文字,使用info.text即可
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值