如何提取BeautifulSoup爬取结果中括号内的文本内容?
提取括号内内容的几种方法
方法1:字符串索引截取
既然已经拿到目标文本,直接通过定位括号位置提取内容:
# 假设reviews是你获取到的文本内容 start_idx = reviews.find("(") + 1 end_idx = reviews.find(")") review_count = reviews[start_idx:end_idx].strip() print(review_count) # 输出:3.484 Bewertungen
方法2:正则表达式匹配
用正则匹配括号内内容,适配更复杂的文本格式:
import re # 匹配括号内的任意内容 match_result = re.search(r"\((.*?)\)", reviews) if match_result: review_count = match_result.group(1).strip() print(review_count)
方法3:直接用BeautifulSoup定位元素(更高效)
你提到前两行对应<span>标签,说明括号里的评价数大概率在独立元素中,直接定位更精准,无需先提取整个文本:
# 定位到包含括号的文本节点 target_text = soup.find("li", class_="bc-list-item ratingsLabel").find(text=lambda t: "(" in t) if target_text: review_count = target_text.strip().strip("()") print(review_count)
内容的提问来源于stack exchange,提问作者flexyflash
相关产品推荐
相关产品推荐

