采集的内容里有以下内容,怎么把这些用正规则替换为空或去掉? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
python30
V2EX    Python

采集的内容里有以下内容,怎么把这些用正规则替换为空或去掉?

  •  
  •   python30 2020-06-23 23:30:54 +08:00 2379 次点击
    这是一个创建于 1935 天前的主题,其中的信息可能已经有所发展或是发生改变。

    采集的内容里面有以下内容。 把下面内容用正规则全部去掉 写了好多都不完美成功。 一个正规则去不掉可以用多个。 谢谢。

    <div class="art_xg"> <h4>您可能感兴趣的文章:</h4><ul><li><a href="/article/179849.htm" title="解决 Keras 与 Tensorflow 版本之间的兼容性问题" target="_blank">解决 Keras 与 Tensorflow 版本之间的兼容性问题</a></li><li><a href="/article/188419.htm" title="使用 Keras 加载含有自定义层或函数的模型操作" target="_blank">使用 Keras 加载含有自定义层或函数的模型操作</a></li><li><a href="/article/188469.htm" title="完美解决 keras 保存好的 model 不能成功加载问题" target="_blank">完美解决 keras 保存好的 model 不能成功加载问题</a></li><li><a href="/article/188792.htm" title="解决 Keras 自定义层时遇到版本的问题" target="_blank">解决 Keras 自定义层时遇到版本的问题</a></li></ul> </div> <div class="lbd_bot clearfix"> <span id="art_bot" class="jbTestPos"></span> </div> </div> 
    11 条回复    2020-06-24 15:00:25 +08:00
    volvo007
        1
    volvo007  
       2020-06-23 23:34:59 +08:00
    不要自己写正则,用 BeautifulSoup 这种库,把内容解析为规则的数据结构之后用库的方法去获取内容
    arrow8899
        2
    arrow8899  
       2020-06-23 23:36:12 +08:00
    为什么要用正则这么麻烦呢,直接用 xml 把这两个 node 删掉不行吗?
    python30
        3
    python30  
    OP
       2020-06-23 23:39:54 +08:00
    @volvo007
    @arrow8899
    我是用 scrapy 取的内容的
    imn1
        5
    imn1  
       2020-06-24 02:07:16 +08:00
    r'''<div class="art_xg">[\s\S]+?id="art_bot"[^>]+>\s*</span>\s*</div>\s*</div>'''
    试一下这个,用多行匹配的 flag
    no1xsyzy
        6
    no1xsyzy  
       2020-06-24 02:38:46 +08:00
    html 允许无限递归,请检查你的正则实现是否支持递归。
    大多是不支持的。
    hyperbin
        7
    hyperbin  
       2020-06-24 08:41:59 +08:00 via Android
    这歌问题是我找不到任何用正则的理由
    pwli
        8
    pwli  
       2020-06-24 08:59:11 +08:00
    xpath 了解一下
    volvo007
        9
    volvo007  
       2020-06-24 10:02:21 +08:00 via iPhone
    @python30 一样的,这种“长得像”html 的东西都可以丢给 beautifulsoup 。注意到下面的图片里,x 并不是一个完整的 html 文档,一样可以解析
    volvo007
        10
    volvo007  
       2020-06-24 11:14:23 +08:00
    不知道为啥发不了图片,要用 markdown 发吗?
    那这里补充一条文字版的:
    [code]
    soup = bs(x, 'lxml') # 假设这里的 x 是你获得的内容,扔给 beautifulsoup
    [/code]

    [code]
    soup

    # return:
    <html><body><div class="art_xg">
    <h4>您可能感兴趣的文章:</h4>
    <ul>
    <li><a href="/article/179849.htm" target="_blank" title="解决 Keras 与 Tensorflow 版本之间的兼容性问题">解决 Keras 与 Tensorflow 版本之间的兼容性问题</a></li>
    <li><a href="/article/188419.htm" target="_blank" title="使用 Keras 加载含有自定义层或函数的模型操作">使用 Keras 加载含有自定义层或函数的模型操作</a></li>
    <li><a href="/article/188469.htm" target="_blank" title="完美解决 keras 保存好的 model 不能成功加载问题">完美解决 keras 保存好的 model 不能成功加载问题</a></li>
    <li><a href="/article/188792.htm" target="_blank" title="解决 Keras 自定义层时遇到版本的问题">解决 Keras 自定义层时遇到版本的问题</a></li>
    </ul>
    </div>
    <div class="lbd_bot clearfix">
    <span class="jbTestPos" id="art_bot"></span>
    </div>
    </body></html>
    [/code]

    [code]
    soup.h4.text

    # return: 用 .h4 方法可以获得页面中的 h4 标题。其他方法去查下官方手册,都很方便
    '您可能感兴趣的文章:'
    [/code]
    python30
        11
    python30  
    OP
       2020-06-24 15:00:25 +08:00
    谢谢各位,已经解决了
    用两个方法都可以
    一是先全部采集到内容
    然后再采集到 <div class="art_xg">....</div>里面的内容
    然后匹配替换

    另一个是用 @imn1
    写的正规则
    直接完成。谢谢各位。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1244 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 17:19 PVG 01:19 LAX 10:19 JFK 13:19
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86