要用正则表达式提取html文件所有的段落,就是<p>和</p>之间的,求解

2012-01-11 21:43:41 +08:00
 hanbaoo
7346 次点击
所在节点    程序员
28 条回复
hanbaoo
2012-01-11 23:14:51 +08:00
谢谢ls >_<
ywjno
2012-01-11 23:17:01 +08:00
正则<p>(.*?)</p>的效率不低的
fature
2012-01-11 23:21:36 +08:00
@flyingkid 辛苦了,这个跟正则表达式比起来效率可能低了点,我也想到过
lyxint
2012-01-12 00:03:46 +08:00
@fature 字符串下标操作比re要慢??? 不可能的.

让数据说话.

http://gist.github.com/1595083.js?file=test.py

http://gist.github.com/1595083.js?file=result
lyxint
2012-01-12 00:07:31 +08:00
index.html是wget http://news.sina.com.cn/ 存到本地的
kojp
2012-01-12 00:22:42 +08:00
手机党伤不起 ........

Php.的话 ,我经常加个 ius之类的多试几次 就能搞定

Python的话 ,结合 beautiful soupv用 还不错 ....
lyxint
2012-01-12 00:31:55 +08:00
@kojp 正则比单纯的字符串操作慢, beatifulsoup那就更慢了. beautifulsoup累死累活建了dom树, 你只取<p>和</p>之间的内容, 太浪费了.

真想用什么库, 那就HTMLParser (beautifulsoup也用了), 很简单.
fature
2012-01-12 10:32:39 +08:00
@lyxint 是一个朋友问我的,我对正则表达式不太熟,而且在做别的事,就在这里问了,我也给她建议过用html解析器,或者直接操作字符串处理,但是naive地以为正则表达式比较快(对正则的性能不太熟悉),我也都还没测试

谢谢你啦

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/25411

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX