1
zhongshaohua OP 用的是 findall
|
2
laoyur 2016 年 8 月 1 日
源码中有换行,你得使用 single line 模式
|
3
lxy 2016 年 8 月 1 日
加 re.S
或者用这个: r'src="([^"]+)"' |
4
zhongshaohua OP @lxy 谢谢 但是你这样为什么没有匹配引号呢? 因为你是^" 这样是匹配引号开头吧?
|
5
CosimoZi 2016 年 8 月 1 日
不要用正则匹配 html
|
6
linesh 2016 年 8 月 1 日
我在这里试了一下你的表达式,是可以的: http://regexr.com/ 。
所以可能的原因有: * 是否忘记了加 g 参数表示 global ,匹配多行? * 是否可能是 Python 正则有其方言或者独特语法? |
7
lllooo 2016 年 8 月 1 日
不要用正则匹配 html 。
https://pypi.python.org/pypi/beautifulsoup4 |
8
amustart 2016 年 8 月 1 日
不要用正则匹配 html +1 ,我记得 re 的作者?一直在吐槽这个,你要解析 html 就不能用 beautifulSoup 和其他 HTML 解析器么
PS : 练手和网页写的渣另算 |
9
lxy 2016 年 8 月 1 日
@zhongshaohua ^ 表示非,那句就表示匹配所有非双引号的字符。
|
10
imn1 2016 年 8 月 1 日
@amustart
PS : 练手和网页写的渣另算 ======================= 不敢苟同 你知道加载 DOM 需要耗费多少时间和内存么?试试 parse 百万个 html 和只用 regex 比较一下? |
11
CharlesL 2016 年 8 月 1 日
http://www.txt2re.com/index.php3
试试这个正则表达式生成器 |
13
ImPerat0R 2016 年 8 月 1 日
pyquery http://pythonhosted.org/pyquery/
|
14
slysly759 2016 年 8 月 5 日
# 我个人建议如下:
1. 不到万不得已不用正则表达式 2. 正则表达式对正文搜索支持和网页数据提取非常不友好 3. 网页建议使用 xpath ,美丽鸡汤我个人觉得不好用。 4. xpath 在 Google 有 xpath helper 非常好用,获取哪里点哪里,妈妈再也不用担心我的数据抓取了 5. 第四条的插件目前只能在 51.xGoogle chrome 以下使用。 6. 如果非要用正则表达式,那么有一个坑爸爸的正则表达式测试器供你使用。为什么坑爸爸,因为我经常自己写的在测试器可以,但是 python 私活不认,这不,刚买了新电脑。 |