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

使用BeautifulSoup爬取门店营业时间并导出规整Excel的问题求解

解决方案

现有代码的核心问题是直接输出了BeautifulSoup返回的Tag对象列表,没有提取纯文本并做结构化处理,以下是可直接运行的完整代码,实现文本清洗+结构化导出Excel的需求:

import requests
from bs4 import BeautifulSoup
import xlsxwriter

# 请求头配置,避免被网站反爬拦截
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"
}

# 门店ID,可按需修改或扩展为循环爬取多个门店
store_id = "90460"
url = f"https://www.tuodi.it/negozi-dettaglio.cfm?negozio={store_id}"

page = requests.get(url, headers=headers)
soup = BeautifulSoup(page.content, "html.parser")

# 定位营业时间区块
results = soup.find(id="orario" , style="width:50%;float:left")
orari_blocks = results.find_all("div", class_="tab", style="width:220px;line-height: 25px")

# 结构化存储营业时间
business_hours = []
# 预设星期映射,可根据实际页面展示的星期顺序调整
week_days = ["周一", "周二", "周三", "周四", "周五", "周六", "周日"]
day_index = 0

for block in orari_blocks:
    # 提取纯文本,自动去除多余空白和标签,用换行分隔不同行的内容
    raw_text = block.get_text(strip=True, separator="\n")
    # 按换行拆分每一天的营业时间,过滤空行
    daily_hours = [line.strip() for line in raw_text.split("\n") if line.strip()]
    
    for hour in daily_hours:
        if day_index < len(week_days):
            business_hours.append({
                "星期": week_days[day_index],
                "营业时间": hour.replace(" ", "") # 去除时间中间的多余空格
            })
            day_index += 1

# 导出到Excel
workbook = xlsxwriter.Workbook(f"门店{store_id}营业时间.xlsx")
worksheet = workbook.add_worksheet("营业时间")

# 写表头
bold = workbook.add_format({"bold": True})
worksheet.write(0, 0, "星期", bold)
worksheet.write(0, 1, "营业时间", bold)

# 写内容
for row_num, item in enumerate(business_hours, start=1):
    worksheet.write(row_num, 0, item["星期"])
    worksheet.write(row_num, 1, item["营业时间"])

# 自适应列宽
worksheet.set_column(0, 0, 10)
worksheet.set_column(1, 1, 20)

workbook.close()
print("导出完成")

补充说明

  • 如果实际页面的星期顺序和预设不一致,调整week_days列表的顺序即可匹配页面展示顺序即可
  • 如果需要爬取多个门店,把store_id改成ID列表循环遍历即可批量导出
  • 导出的Excel默认自动设置了列宽,格式符合规整排版需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 21:06:03