鱼C论坛

 找回密码
 立即注册
查看: 1759|回复: 7

[已解决]正则表达式提取内容。。

[复制链接]
发表于 2021-7-1 15:41:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
<div accuse="aContent" class="best-text mb-10" id="best-content-2893309099">
<div class="wgt-best-mask">
<div class="wgt-best-showbtn">
推荐内容<span class="wgt-best-arrowdown"></span>
</div>
</div>
<p>沙漠中的精灵</p><div class="excellent-qb-divider"></div><p>骆驼是骆驼科骆驼属的动物,头较小,颈粗长,弯曲如鹅颈。躯体高大,体毛褐色,极能忍饥耐渴。骆驼可以在没有水的条件下生存2周,没有食物的条件下可生存一个月之久。驼峰里贮存着脂肪,可在得不到食物时,分解成身体所需养分,供骆驼生存需要,足有厚皮,用来适应沙漠行走。生活在沙漠边缘的人类早在公元前3000年已经开始驯养骆驼,作为役畜,以供驮运和骑乘,有许多国家有倚赖骆驼为生的骆驼牧 民,是沙漠里的唯一交通工具,甚至有骆驼骑兵。</p><div class="excellent-qb-divider"></div>
</div>

我想剔除不要的标签,如div,span,table,ul,li等,保留p,img,hr,video,文本内容

这个正则表达式应该怎么写呢。。 好难哦。。有什么诀窍吗,往大佬指教。。
最佳答案
2021-7-1 16:15:28
我不是第一个 发表于 2021-7-1 16:13
谢谢你的解答,这个文本内容,不一定就在P标签里面哦。。也可能在div里面,table、span里面都有可能。
...

我只是针对你这个例子而已,实际上,静态解析
实在是过于easy,所以了,你想咋玩都可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-1 15:45:46 | 显示全部楼层
直接用JQuery的标签选择器就好了啊,可以不用正则表达式。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-1 15:51:52 | 显示全部楼层
Rayan_Bai 发表于 2021-7-1 15:45
直接用JQuery的标签选择器就好了啊,可以不用正则表达式。

没用过,安装个试试,, 谢谢指导
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-1 15:59:54 | 显示全部楼层
Rayan_Bai 发表于 2021-7-1 15:45
直接用JQuery的标签选择器就好了啊,可以不用正则表达式。

怪我没说清楚,有的DIV里面有文本内容,也是要保留内容的。没有内容的去掉。。    能写个案例吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-1 16:02:43 | 显示全部楼层
我不是第一个 发表于 2021-7-1 15:59
怪我没说清楚,有的DIV里面有文本内容,也是要保留内容的。没有内容的去掉。。    能写个案例吗?{:5_109 ...

还真没解析过字符串呢
试一试:
s='''<div accuse="aContent" class="best-text mb-10" id="best-content-2893309099">
<div class="wgt-best-mask">
<div class="wgt-best-showbtn">
推荐内容<span class="wgt-best-arrowdown"></span>
</div>
</div>
<p>沙漠中的精灵</p><div class="excellent-qb-divider"></div><p>骆驼是骆驼科骆驼属的动物,头较小,颈粗长,弯曲如鹅颈。躯体高大,体毛褐色,极能忍饥耐渴。骆驼可以在没有水的条件下生存2周,没有食物的条件下可生存一个月之久。驼峰里贮存着脂肪,可在得不到食物时,分解成身体所需养分,供骆驼生存需要,足有厚皮,用来适应沙漠行走。生活在沙漠边缘的人类早在公元前3000年已经开始驯养骆驼,作为役畜,以供驮运和骑乘,有许多国家有倚赖骆驼为生的骆驼牧 民,是沙漠里的唯一交通工具,甚至有骆驼骑兵。</p><div class="excellent-qb-divider"></div>
</div>
'''
from lxml import etree,html
tree=html.etree.HTML(s)
data=tree.xpath("//p/text()")
print(data)

'''
PS D:\我> py test4.py
    ['沙漠中的精灵', '骆驼是骆驼科骆驼属的动物,头较小,颈粗长,弯曲如鹅颈。躯体高大,体毛褐色,极能忍饥耐渴。骆驼可以在没有水的条件下生存2周,没有食物的条件下
    可生存一个月之久。驼峰里贮存着脂肪,可在得不到食物时,分解成身体所需养分,供骆驼生存需要,足有厚皮,用来适应沙漠行走。生活在沙漠边缘的人类早在公元前3000年
    已经开始驯养骆驼,作为役畜,以供驮运和骑乘,有许多国家有倚赖骆驼为生的骆驼牧 民,是沙漠里的唯一交通工具,甚至有骆驼骑兵。']
PS D:\我>
'''
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-1 16:13:41 | 显示全部楼层
wp231957 发表于 2021-7-1 16:02
还真没解析过字符串呢
试一试:

谢谢你的解答,这个文本内容,不一定就在P标签里面哦。。也可能在div里面,table、span里面都有可能。
最好是能吧内容,提取出来,然后用P标签提取出来。保留img,hr,video。最好是这样。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-1 16:15:28 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
我不是第一个 发表于 2021-7-1 16:13
谢谢你的解答,这个文本内容,不一定就在P标签里面哦。。也可能在div里面,table、span里面都有可能。
...

我只是针对你这个例子而已,实际上,静态解析
实在是过于easy,所以了,你想咋玩都可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-8 17:34:01 | 显示全部楼层
其实用bs4比较简单
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-14 20:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表