import urllib.request
import re
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}
r = urllib.request.Request('https://m.weibo.cn/api/container/getIndex?containerid=102803_ctg1_4388_-_ctg1_4388&openApp=0',headers=headers)
page = urllib.request.urlopen(r)
html = page.read()
import json
m = json.loads(html)
mm = m['data']
for t in mm['cards']:
tt = t['mblog']
title = re.sub("<[^>]*>", "", tt['text'])
#print(tt['created_at'])
#print(tt['source'])
# print(tt['user'][ 'screen_name'])
'''
import time
t = tt['created_at']
min = re.findall('\d+', t)[0]
if u'分钟' in t:
c = time.time() - int(min) * 60
elif u'小时' in t:
c = time.time() - int(min) * 60 * 60
elif u'天' in t:
c = time.time() - int(min) * 60 * 60 * 24
else:
continue
c = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(c))
import datetime
c = datetime.datetime.strptime(c, "%Y-%m-%d %H:%M:%S")
print(c)
'''
'''
t = tt['created_at']
from datetime import datetime, timedelta
current_year = datetime.today().strftime("%Y")
min = int(re.findall('\d+', t)[0])
if u'秒' in t:
s = (datetime.now() - timedelta(seconds=min))
print(s)
elif u'分钟' in t:
s = (datetime.now() - timedelta(minutes=min))
print(s)
elif u'小时' in t:
s = (datetime.now() - timedelta(hours=min))
elif u'天' in t:
s = (datetime.now() - timedelta(days=min))
print(s)
else:
t += ", " + current_year
s = datetime.strptime(t, "%m-%d, %Y")
print(s)#精确到小数点后
print(str(s).split('.')[0])#去除小数点
'''
import time
import datetime
def conv_time(t):
min = re.findall('\d+', t)[0]
if u'分钟' in t:
c = time.time() - int(min) * 60
elif u'小时' in t:
c = time.time() - int(min)*60*60
elif u'天' in t:
c = time.time() - int(min)*60*60*24
else:
return None
c = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(c))
c = datetime.datetime.strptime(c, "%Y-%m-%d %H:%M:%S")
return str(int(time.mktime(c.timetuple()))) + "000"
后面看到了datetime的timedelta, 所以代码改成了这样
from datetime import datetime, timedelta
current_year = datetime.today().strftime("%Y")
def conv_time(t):
min = int(re.findall('\d+', t)[0])
if u'秒' in t:
s = (datetime.now() - timedelta(seconds=min))
elif u'分钟' in t:
s = (datetime.now() - timedelta(minutes=min))
elif u'小时' in t:
s = (datetime.now() - timedelta(hours=min))
elif u'天' in t:
s = (datetime.now() - timedelta(days=min))
else:
t += ", " + current_year
s = datetime.strptime(t, "%m-%d, %Y")
return str(int(time.mktime(s.timetuple()))) + "000"