From d099cd262d66d2e4d04bc15474d79bab567d79d6 Mon Sep 17 00:00:00 2001 From: edipretoro Date: Mon, 29 Dec 2025 21:39:51 +0100 Subject: [PATCH] Extracting the date from the post --- scrarls.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/scrarls.py b/scrarls.py index 61750f6..cc0b01a 100644 --- a/scrarls.py +++ b/scrarls.py @@ -1,6 +1,8 @@ #!/usr/bin/env python +import re import sys +from datetime import datetime import scrapy from scrapy.crawler import CrawlerProcess @@ -37,12 +39,16 @@ class TvShow(CrawlSpider): item['article_id'] = article.attrib['id'], item['article_title'] = article.css('h1.entry-title > a::text').get(), item['title'] = article.css('.entry-summary > p:nth-child(4) > strong::text').get(), - item['date'] = article.css('.entry-meta-header-before::text').getall()[1].strip(), + item['date'] = self.parse_date(article.css('.entry-meta-header-before::text').getall()[1].strip()), item['summary'] = article.xpath('.//div[@class="entry-summary"]/node()').extract(), item['image_url'] = article.css('.entry-summary > p > img::attr(src)').get(), item['download_url'] = article.css('.entry-summary > p > a[href ^= "https://rapidgator"]::attr(href)').get() yield item + def parse_date(self, formatted_date: str): + formatted_date = re.sub(r'(\d)(st|nd|rd|th)', r'\1', formatted_date) + return datetime.strptime(formatted_date, "Posted on %B %d, %Y at %H:%M in") + def main(): process = CrawlerProcess()