采集的内容里面有以下内容。 把下面内容用正规则全部去掉 写了好多都不完美成功。 一个正规则去不掉可以用多个。 谢谢。
<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 写的正规则 直接完成。谢谢各位。 |