【问题标题】:How to get articles for last 2 days only in Python?如何仅在 Python 中获取最近 2 天的文章?
【发布时间】:2016-11-12 01:49:33
【问题描述】:

我用 Python3 编写了一个程序来解析新闻。解析后,每篇文章都有一个日期对象(例如 (2016, 7, 9))。

仅保存仅在过去 2 天内发布的文章的最佳方法是什么?

【问题讨论】:

  • 您使用的是哪个网站?它一次返回整个数据吗?我不这么认为?您可以一次获取一篇新闻文章并对其进行解析以获取日期,并在获取日期晚于 2 天后停止。
  • @TrigonaMinima 我使用报纸库解析多个新闻网站。它给我这样的每篇文章的信息: { 'article_title': article.title, 'article_date': article.publish_date, 'article_author': article.authors, 'article_text': article.text, 'article_URL': article.url , } 我只需要最近 2 天的文章。我知道我可以获取当前日期时间并进行比较。但是pythonic的方法是什么?
  • 也许您正在寻找的是timedelta?像这样的东西 - datetime.datetime.utcnow().date() - datetime.timedelta(days=2)
  • @Yonatan Kiron,timedelta 确实是我一直在寻找的东西,谢谢你的建议。

标签: python date python-3.x datetime


【解决方案1】:

正如你所说,这就是你的答案:

import datetime
datetime.datetime.utcnow().date() - datetime.timedelta(days=2)

【讨论】:

    【解决方案2】:

    如果是文章列表:

    import arrow
    
    threshold = arrow.now().replace(days=-2)
    filtered_articles = [a for a in articles if arrow.get(a['article_date')) > threshold]
    

    【讨论】:

    • 这是一个好方法,但需要安装箭头库。就我而言,我只需要使用标准库。无论如何,谢谢。
    猜你喜欢
    • 2022-06-20
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2011-02-28
    • 2016-05-07
    • 2019-11-03
    • 1970-01-01
    • 2016-08-20
    相关资源
    最近更新 更多