scrapy 而不是一天前,几分钟前或几小时前,我想刮今天发布的日期,所以日期应该是今天或发布日的日期

vbkedwbf  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(106)

而不是一天前,几分钟前,或几小时前,我想刮日期,如果今天发布,所以日期应该是今天或发布日的日期在scrapy使用python。
这是我尝试的代码。

Published_Date = response.css('time::text').get().replace(",","").replace("Published ","")#Published Jul 30, 2019
if "AGO" in Published_Date:
    Published_Date = date.today() 
else:
    Published_Date =  datetime.strptime(Published_Date, "%b %d %Y").date()

网站的URL。https://simpleflying.com/us-carriers-dot-delay-compensation-push/

esbemjvw

esbemjvw1#

您可以直接从<time>标记中提取@datetime属性,并使用datetime模块解析它的发布日期,使用timedelta检查它的发布时间。

import scrapy
import datetime

class DTSpider(scrapy.Spider):
    name = 'dt'
    start_urls = ['https://simpleflying.com/us-carriers-dot-delay-compensation-push/']

    def parse(self, response):
        dt = response.css('span.meta_txt.date').xpath('./time/@datetime').get()
        date = datetime.datetime.fromisoformat(dt[:-1])
        print(date, '|' ,date.day,'|',date.month, '|', date.year) 
        # 2022-10-23 17:10:00 | 23 | 10 | 2022  #<-- output
        today = datetime.datetime.today()
        delta = today - date
        print(delta.days)   # 0  <-- output

相关问题