最新消息:20210917 已从crifan.com换到crifan.org

【整理】关于用正则表达式处理html代码方面的建议

Crawl_EmulateLogin crifan 4100浏览 0评论

之前见过不止一个人,比如:

尝试使用正则表达式去处理,带很多各种标签,如div等,的html代码。

对此,个人建议是:

1.如果是非常简单的,很小一段的html代码,并且html本身是比较正常的(没有缺失的标签等),则的确是使用正则表达式处理起来,更加方便,更加省事。

2.如果是复杂的html代码,尤其是,有些html代码本身写的就很烂,标签不完整,则最好是采用对应的,专门用于解析html代码的库,去处理,去解析,然后会更加方便你,从解析后的值(对象)中,提取你所需要的值。

而否则,对于这种复杂的html代码,如果你自己去写一堆正则表达式的话,你会发现,很多时候,根本没有写出实际可以使用的正则表达式,因为html代码里面,N多层嵌套的,各种的标签,很难用单个的,甚至多个的,正则表达式,去匹配出来,去提取出来你想要的值。

以及,当你遇到大量的html中,其中个别的html代码,和其他的规则都又不太一样,设置是代码本身不合法,缺少部分的标签等等,此时,你就会发现,你之前所写的,即便是足够复杂,足够精确的正则表达式,也都失去了意义,没法匹配到你想要的值。

所以,才建议:对于复杂的html,使用相关语言中,特定的专门用于解析html的库,去处理,会比你从头写出极其复杂,但有时候却无法准确匹配内容的正则表达式,要来的更加高效,更加省事,更加准确。

比如:

 

关于实际例子:

【问题解答】建议:处理html时复杂的需求,建议使用专门的库比如BeautifulSoup去处理而不要用正则

转载请注明:在路上 » 【整理】关于用正则表达式处理html代码方面的建议

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
92 queries in 0.187 seconds, using 23.37MB memory