Scrapy: Как получить элементы, которые были опубликованы за последние 24 часа в заявлении if? - PullRequest
0 голосов
/ 29 апреля 2019

Привет! Я хотел отфильтровать свой товар, используя утверждение 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 голосов
/ 29 апреля 2019

Проверьте 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) is timedelta с days, minutes и seconds.
  • (datetime.now() - datime).total_seconds() // 3600 преобразует эту временную дельту из секунд в часы.

UPD: как @JonПредлагаемые Clements, также действительны:

if datetime.now() - timedelta(hours=25) <= datime:
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...