采集的内容里面有以下内容。 把下面内容用正规则全部去掉 写了好多都不完美成功。 一个正规则去不掉可以用多个。 谢谢。
<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>
1
volvo007 2020-06-23 23:34:59 +08:00
不要自己写正则,用 BeautifulSoup 这种库,把内容解析为规则的数据结构之后用库的方法去获取内容
|
2
arrow8899 2020-06-23 23:36:12 +08:00
为什么要用正则这么麻烦呢,直接用 xml 把这两个 node 删掉不行吗?
|
4
ericls 2020-06-24 00:01:32 +08:00
|
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 |
6
no1xsyzy 2020-06-24 02:38:46 +08:00
html 允许无限递归,请检查你的正则实现是否支持递归。
大多是不支持的。 |
7
hyperbin 2020-06-24 08:41:59 +08:00 via Android
这歌问题是我找不到任何用正则的理由
|
8
pwli 2020-06-24 08:59:11 +08:00
xpath 了解一下
|
9
volvo007 2020-06-24 10:02:21 +08:00 via iPhone
@python30 一样的,这种“长得像”html 的东西都可以丢给 beautifulsoup 。注意到下面的图片里,x 并不是一个完整的 html 文档,一样可以解析
|
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] |
11
python30 OP 谢谢各位,已经解决了
用两个方法都可以 一是先全部采集到内容 然后再采集到 <div class="art_xg">....</div>里面的内容 然后匹配替换 另一个是用 @imn1 写的正规则 直接完成。谢谢各位。 |