HelloWorld!
..._python 正则匹配网页原码包含多行的表格">
赞
踩
页面源码中带有换行符,或者想匹配多行内容,
- <h3 id="hello">HelloWorld!</h3>
- <ul> #要抓取<ul>~</ul>之间的内容,即多行,包含\n
- <li> #如何解决?
- <p>This is a big world!</p>
- </li>
- <li>
- <p>where are you from?</p>
- </li>
- </ul>
解决方法:
1.匹配前做处理:在获取页面源码后,用replace过滤掉所有的\n, 这样在匹配目标内容时,不再需要考虑\n.
- html = html.replace('\n', '')
- target_contents = re.findall(r'r'<h3 id="hello">HelloWorld!</h3><ul>(.*?)</ul>'', html)
2.不处理抓取出来的源码, 在匹配时,注意正则表达式,不使用'.' ,使用[\s\S]:
\s --> 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。
\S --> 匹配任何非空白字符。等价于[^ \f\n\r\t\v]。
target_contents =
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。