在写爬虫的时候,使用了re.search获取信息,报错:’_sre.SRE_Match’ object has no attribute ‘split’
原代码:
页面中的信息大概是:东城区(144),需求是东城区和144分开输出
for span in page_content.find_all('h3',class_='u-title-3'): #定位直辖市的区县名
district = span.find_all('span')
for i in range(len(district)):
district_str = district[i].get_text()
district_name = district_str.split('(')[0]
info1 = re.search(regex,district_str).split('(')[1] #报错的句子
hos_num = re.sub('\)','',info1)
问题:re_search返回的是匹配对象,如果要返回字符串,就得用group()方法
修改后的代码:
for i in range(len(district)):
district_str = district[i].get_text()
district_name = district_str.split('(')[0]
info1 = re.search(regex,district_str).group(0)
info2 = info1.split('(')[1]
hos_num = re.sub('\)','',info2)
print(district_name,hos_num)
输出:

本文详细解析了在使用Python爬虫时遇到的常见错误'_sre.SRE_Match' object has no attribute 'split',并提供了正确的代码实现方式。通过示例展示了如何正确使用re.search和group()方法来获取所需的字符串部分。
1691

被折叠的 条评论
为什么被折叠?



