如何从网页<li>标签列表中精准提取MFG#信息?
解决方法
要精准提取包含"MFG#"的列表项,你可以遍历所有<li>标签,筛选出文本以"MFG#"开头的项,再提取对应的型号内容。修改后的代码如下:
import requests from bs4 import BeautifulSoup url = 'https://www.chadwellsupply.com/categories/appliances/Stove-Ranges/hotpoint-24-spacesaver-electric-range---white/' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') # 补充原代码遗漏的soup初始化步骤 li_items = soup.find('div', class_="tabs").find_all('li') # 遍历筛选并提取MFG#信息 for item in li_items: text = item.get_text(strip=True) if text.startswith('MFG#'): mfg_number = text.split(' ', 1)[1] # 拆分出型号部分 print(f"MFG#: {mfg_number}") break # 找到目标项后直接终止循环
关键说明
- 补充了
soup对象的初始化步骤,原代码缺少这一步会导致运行报错。 - 使用
get_text(strip=True)获取纯文本并去除首尾空白,避免格式干扰判断。 - 通过
startswith('MFG#')精准匹配目标项,完全不受列表长度变化的影响。 - 用
split(' ', 1)[1]拆分出型号内容,得到干净的MFG编号。
内容的提问来源于stack exchange,提问作者cahilltyler
相关产品推荐
相关产品推荐

