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

Scrapy爬虫在PythonAnywhere运行时报时间格式匹配错误求助

解决Scrapy爬虫在PythonAnywhere的时区解析错误

问题原因

你遇到的错误本质是本地与PythonAnywhere的Python版本差异:

  • 本地使用Python 3.7+,strptime的%z格式支持解析带冒号的时区偏移(如-07:00);
  • PythonAnywhere默认可能使用Python 3.6或更早版本,旧版本的%z仅支持不带冒号的时区格式(如-0700),因此无法匹配2022-10-10T13:00:00-07:00。

验证方法

在PythonAnywhere的bash终端执行以下命令,确认当前Python版本:

python3 --version

解决方案

方案1:手动修正时区格式

先移除时间字符串里时区部分的冒号,再用%z解析:

from datetime import datetime

time_str = '2022-10-10T13:00:00-07:00'
# 去掉时区中的冒号,转为-0700格式
fixed_time_str = time_str[:-3] + time_str[-2:]
dt = datetime.strptime(fixed_time_str, '%Y-%m-%dT%H:%M:%S%z')

方案2:使用兼容性更强的第三方库

安装python-dateutil库(在PythonAnywhere终端执行):

pip3 install python-dateutil

然后用它的解析器自动处理时区格式:

from dateutil import parser

dt = parser.parse('2022-10-10T13:00:00-07:00')

方案3:升级PythonAnywhere的Python版本

PythonAnywhere支持切换到3.7+版本:

  • 在PythonAnywhere的Web控制面板中,找到"Consoles"或"Tasks"设置,选择更高版本的Python(如3.9、3.10);
  • 运行爬虫时指定版本,比如python3.9 your_spider.py。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 03:20:43