diff --git a/app/helper/rss.py b/app/helper/rss.py index 5cd309d8..5257ff0c 100644 --- a/app/helper/rss.py +++ b/app/helper/rss.py @@ -382,7 +382,10 @@ class RssHelper: size = int(size_attr) # 发布日期 - pubdate_nodes = item.xpath('.//pubDate | .//published | .//updated') + pubdate_nodes = item.xpath('./pubDate | ./published | ./updated') + if not pubdate_nodes: + pubdate_nodes = item.xpath('.//*[local-name()="pubDate"] | .//*[local-name()="published"] | .//*[local-name()="updated"]') + pubdate = "" if pubdate_nodes and pubdate_nodes[0].text: pubdate = StringUtils.get_time(pubdate_nodes[0].text) diff --git a/app/modules/indexer/spider/__init__.py b/app/modules/indexer/spider/__init__.py index 1ced2441..ef2bba9d 100644 --- a/app/modules/indexer/spider/__init__.py +++ b/app/modules/indexer/spider/__init__.py @@ -428,6 +428,12 @@ class SiteSpider: if pubdate_str: pubdate_str = pubdate_str.replace('\n', ' ').strip() self.torrents_info['pubdate'] = self.__filter_text(pubdate_str, selector.get('filters')) + if self.torrents_info.get('pubdate'): + try: + if not isinstance(self.torrents_info['pubdate'], datetime.datetime): + datetime.datetime.strptime(str(self.torrents_info['pubdate']), '%Y-%m-%d %H:%M:%S') + except (ValueError, TypeError): + self.torrents_info['pubdate'] = StringUtils.unify_datetime_str(str(self.torrents_info['pubdate'])) def __get_date_elapsed(self, torrent: Any): # torrent date elapsed text