Scrapy:如何在if语句中获取过去24小时内已过帐的项目?

时间:2019-04-29 07:00:06

标签: python web-scraping scrapy

嗨,我想使用if语句过滤我的商品,我只需要获取过去24小时内发布的商品

这是我的代码

#date where the item is posted
datime = response.css("a.datePermalink abbr::text").extract_first()
datime = datime.replace('at', '')
datime = parser.parse(datime)

if now-timedelta(hours=24) <= datime:

URL:https://teslamotorsclub.com/tmc/threads/tesla-tsla-the-investment-world-the-2019-investors-roundtable.139047/page-2440

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

检查datetime.timedelta减去一个datetime即可得到:

from dateparser import parse
from datetime import datetime

datime = response.css("a.datePermalink abbr::text").get()
datime = datime.replace('at', '')
datime = parse(datime)

if (datetime.now() - datime).total_seconds() // 3600 < 24:
    # do what you need
  • datetime.now()是当前的datetime
  • (datetime.now() - datime)timedelta,具有daysminutesseconds
  • (datetime.now() - datime).total_seconds() // 3600将此时间增量从秒转换为小时。

UPD:如@Jon Clements所建议,也有效:

if datetime.now() - timedelta(hours=25) <= datime: