在做爬虫的时候,需要计算网页上的发布时间和本地时间的时间差。
主要思想是现在爬虫的时候用正则把发布时间抓取下来,再用datetime库将其转化为datetime.datetime对象,计算时间差。
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| def timeConversion(s: str): if re.match(r"^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$", s): d = datetime.strptime(s, '%Y-%m-%d %H:%M:%S') elif re.match(r"^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$", s): d = datetime.strptime(s, '%Y-%m-%d %H:%M') elif re.match(r"^\d{4}-\d{2}-\d{2}$", s): d = datetime.strptime(s, '%Y-%m-%d') else: return s a = datetime.now() durn = (a - d) days = durn.days if days == 0: hours = (durn.total_seconds() % 86400) // 3600 return str(int(hours)) + "小时前" else: return str(days) + "天前"
|