
1 imn1 Mar 18, 2015 有没有用参数把圆点包括换行符? |
2 wangfeng3769 Mar 18, 2015 beautifullsoup 可以自己搞。 |
4 dedewei OP @wangfeng3769 就匹配几十个页面,正则会快点吧 |
5 zhy0216 Mar 18, 2015 不要用正则爬网页... |
7 zhy0216 Mar 18, 2015 |
8 imn1 Mar 18, 2015 建议善用排除正则,(?!(?:排除的字串)).*? 另外,py中正则的贪婪和非贪婪和我预想的差距很大,特别是 findall 多组匹配的时候,注意改动一下观察结果 |
14 imn1 Mar 18, 2015 @dedewei parse 几十个页面正则没有明显优势,但是如果几万个页面,正则花费时间是 lxml 的2/3或更少,bs4就更不用说了,载入页面dom是很耗资源的 我试过在一台老机器(带SSD)上单线程 parse 50+w 个 html,bs4 等了一小时没响应(死掉?),lxml+xpath 是2800+秒,正则是1600+秒,两个程序代码只有两行区别 (?!(?:\<p class……)).*? 代替中间你要无视的那段字串,你去查查这种写法,自己做几个例子就明白了 另外findall 做单句正则分组匹配真的很烦,有时用*和+结果相差甚远(有字符的情况),我经常要调试好几次才成功 |
15 libo26 Mar 18, 2015 表示用Beautifulsoup挺方便的 |
16 frankzeng Mar 18, 2015 Beautifulsoup或xpath,为什么非要用虐心的正则表达式,写正则表达式可费脑了 |
17 mutoulbj Mar 18, 2015 pyquery大法好~ |