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

Python爬虫抓取网页价格成功但无法写入TXT文件问题求助

解决方案

你的写入失败问题和数据类型无关,price.text本身就是合法的字符串类型,核心原因是文件操作逻辑不规范:

  • 你打开文件对象后没有执行关闭操作,写入的内容会暂留在内存缓冲区,不会同步写入磁盘
  • 未指定文件编码,若爬取内容包含特殊字符可能触发编码错误,中断写入流程

修正后可运行代码

import requests
from bs4 import BeautifulSoup as bs

url = "https://www.futbin.com/stc/cheapest"
# 可选:添加UA请求头避免被网站反爬拦截返回异常内容
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}

r = requests.get(url, headers=headers)
soup = bs(r.content, "html.parser")
price = soup.find("div", {"class":"d-flex row col-md-9 px-0"})

if price:
    name = "example"
    # 使用with上下文管理器处理文件操作,自动关闭文件触发写入
    with open(f"{name}.txt", "a", encoding="utf-8") as f:
        f.write(price.text + "\n") # 追加换行符区分多次写入的内容
else:
    print("未匹配到对应价格节点,请检查页面结构或CSS选择器")

修改说明

  • 文件操作优化:with语句会在代码块执行完成后自动关闭文件对象,自动将缓冲区的内容写入磁盘,不需要手动调用close()方法
  • 编码兼容:指定encoding="utf-8"参数适配网页的多语言字符,避免编码错误导致写入失败
  • 健壮性优化:增加节点非空判断,避免页面结构变动找不到对应元素时抛出属性异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 01:15:11