You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从布局混乱的网页爬取全部阿拉巴马州移动房屋公园名称?

解决阿拉巴马州移动房屋公园名称爬取不全的问题

你的问题核心在于只抓取了页面里的第一行表格内容:原代码用soup.select_one("table tr")只会返回匹配到的第一个<tr>元素,自然只能拿到该行里的几个公园名称。要获取全部目标结果,需要遍历页面中所有包含公园名称的表格行。

修正后的代码

import requests
from bs4 import BeautifulSoup

url = "http://www.chattelmortgage.net/Alabama_mobile_home_parks.html"
r = requests.get(url)
soup = BeautifulSoup(r.text, "lxml")

# 获取页面中所有的表格行
all_table_rows = soup.select("table tr")
park_names = []

for row in all_table_rows:
    # 遍历当前行内所有包含公园名称的<strong>标签
    for name_item in row.select("td p strong"):
        clean_text = name_item.get_text(strip=True)
        if "alabama" in clean_text.lower():
            park_names.append(clean_text)

# 输出所有爬取到的公园名称
print('\n'.join(park_names))

关键修改说明

  • 把select_one换成select:soup.select("table tr")会获取页面中所有表格行,而不是仅第一行。
  • 双层遍历:先遍历每一行,再从行内提取所有符合条件的<strong>标签内容,确保不遗漏任何一行的公园名称。
  • 结果收集后统一输出:用列表收集所有符合条件的名称,最后一次性打印,避免零散输出。

运行这段代码后,你就能获取到包括Parkway Mobile Home Park - Alabama在内的所有阿拉巴马州移动房屋公园名称了。

内容的提问来源于stack exchange,提问作者SIM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:01:23