请教大神 我的 正则不匹配 问题出在哪

qq_29140533 2016-03-08 11:15:27
准备爬内涵段子,筛选出点赞数大于5000的段子打印出来我的正则匹配是pattern = re.compile('<h1.*?class="title">.*?<p.*?>(.*?)</p>.*?</h1>(.*?)<li.*?class="digg-wrapper">.*<span.*?class="digg">(.*?)</span>.*?</li>',re.S)第一个(.*?)表示段子,第二个(.*?)表示点赞数,但为程序运行后反馈为响应。还有这样后经常会CPU占用率百分之百,让我不得不重新启动,求大神赏脸解答​
...全文
124 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
panghuhu250 2016-03-10
  • 打赏
  • 举报
回复
估计是像这样: http://ju.outofmemory.cn/entry/178152 用的.*?太多了. 如果你需要这么大的灵活性的话(这儿也许有空格, 哪儿可以有或没有属性...), 建议使用html解析的程序包(lxml, beautifulsoup等). 反之, 只有文件格式固定时, re才更方便.

pat = '<p>(.*?)</p>.*?<span class="digg">([0-9]*)</span>'
re.findall(pat, html)

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧