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

使用pygooglenews爬取新闻时报'list'无strftime属性如何解决

错误原因

  • 变量名冲突:你导入了datetime.date类,后续又定义了同名列表date = []存储新闻发布时间,调用date.strftime时系统识别到的是列表对象,自然没有对应方法。
  • 缺少日期循环逻辑:原有代码仅执行了一次搜索,没有遍历15天的所有日期,无法拿到完整的周期数据。
  • strftime调用对象错误:strftime是日期实例的方法,需要作用在你定义的start_date这类具体的日期对象上,不能直接作用在date类本身。

修复后完整代码

import datetime
from datetime import date
from pygooglenews import GoogleNews
import pandas as pd

gn = GoogleNews(lang = 'en', country = 'US')
start_date = date(2021, 9, 1)
end_date = date(2021,9,14)
delta = datetime.timedelta(days=1)

# 全局存储所有时段新闻数据
all_links = []
all_pub_dates = []

# 循环遍历起止日期内的每一天
current_date = start_date
while current_date <= end_date:
    # 格式化符合接口要求的日期字符串
    from_str = current_date.strftime('%Y-%m-%d')
    to_str = (current_date + delta).strftime('%Y-%m-%d')
    # 执行当日关键词搜索
    search = gn.search('AAPL', from_=from_str, to_=to_str)
    # 追加当日数据到全局列表
    for item in search['entries']:
        all_links.append(item.title)
        all_pub_dates.append(item.published)
    # 日期前进一天
    current_date += delta

# 导出结果到csv
d = {"Headline": all_links, "Timestamp": all_pub_dates}
df = pd.DataFrame(d)
df.to_csv('/content/drive/MyDrive/google_news_Apple_1y.csv', index=False)

注意事项

  • pygooglenews受谷歌新闻接口限制,单次请求最多返回100条结果,若单日相关新闻量超过100条,需要额外实现分页逻辑避免数据遗漏
  • 网络不稳定时可以增加请求重试逻辑,避免单次请求失败丢失对应时段的数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 13:18:06