首页新闻找找看学习计划

爬虫的正则表达式相关,两个一样的标签怎么抓第二个

0
悬赏园豆:20 [已解决问题] 解决于 2019-08-09 13:55

这个是网站上的标签

<td style="color:#458c3f; font-size:14px; font-weight:bold; padding-top:15px; padding-bottom:8px;" align="center" class="">环境影响评价文件受理公示—镇江盛润建材有限公司年产6万立方米混凝土砌块砖项目(报告表)(京口区环保局)</td>

有一个一样的align在前面,抓取的话总是抓到第一个

我是这么写的

title = extract_fields(r'<td align="center">(.*?)</tr>', datas,re.S) # 匹配标题

有什么办法只抓第二个吗?

扶荔的主页 扶荔 | 初学一级 | 园豆:41
提问于:2019-08-02 18:08
< >
分享
最佳答案
0
title = extract_fields(r'<td style="color:#458c3f; font-size:14px; font-weight:bold; padding-top:15px; padding-bottom:8px;" align="center">(.*?)</td>', datas,re.S) # 匹配标题

全丢上去抓到了...

扶荔 | 初学一级 |园豆:41 | 2019-08-05 11:46
其他回答(3)
0

extract_fields返回的是啥,正则应该匹配到的都返回的,是不是这个函数过滤掉了。

Masako | 园豆:1609 (小虾三级) | 2019-08-02 18:34

只返回了第一个的字段

支持(0) 反对(0) 扶荔 | 园豆:41 (初学一级) | 2019-08-02 19:16

@扶荔: 没用过这个,看看源码是怎么处理的。不行就用re吧,楼下的re.findall就可以,返回的列表,选择自己要的就行。

支持(0) 反对(0) Masako | 园豆:1609 (小虾三级) | 2019-08-05 10:20
0

datas.split('>')[3][:-4]

水墨的心 | 园豆:361 (菜鸟二级) | 2019-08-02 21:27
1

pat = 'class="">(.*?)</td>'
title = re.compile(pat).findall(a)#找到匹配字段
pat 是正则表达式;a是你爬下来的文本字符串
这是我的方法,不知道可不可以用

收获园豆:20
Charzueus | 园豆:238 (菜鸟二级) | 2019-08-04 19:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册