2015-06-23 2 views
-1
import praw,time 
import sys 
reload(sys) 
sys.setdefaultencoding("utf-8") 

username="" 
password="" 
r = praw.Reddit(user_agent='') 
r.login(username,password,disable_warning=True) 
posts=r.search('china disaster', subreddit=None, sort=None, syntax=None, period=None,limit=7) 
title=[];created=[] 
for index,post in enumerate(posts): 
    date=time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(post.created)) 
    title.append(post.title);created.append(post.created) 
    print date,title[index] 
    break #added so it prints one post as a example 

Ошибка: я некорректные раз.Неверное преобразование времени эпохи, когда слом Web

<time title="Fri Jan 23 01:22:20 2015 UTC" datetime="2015-01-22T17:22:20-08:00" class="">5 months ago</time> 

Я не понимаю вопроса, я думаю, что ошибаюсь в преобразовании часового пояса. Но reddit сообщения упоминают UTC, таким образом, я не получаю ошибку.

+0

Выход не соответствует коду. Какую ценность вы ожидаете получить? – jfs

+0

Добавлен оператор 'break', поэтому в качестве примера выводится только одно сообщение. Извините за неправильное объяснение раньше. Если вы упомянули о содержании сообщения, если не будет, так как порядок верхних сообщений будет меняться на reddit. –

+0

'дата печати', где' date' имеет ''% Y-% m-% d .. "' формат не будет выводить '

ответ

1

Я не получил вашу точную проблему о том, как «Неверно». Существует два атрибута созданного времени «created» и «created_utc». Может быть, вы захотите попробовать второй вариант.

+0

Отлично! Спасибо. На самом деле немой я пропустил это. –

+0

'gmtime()' принимает «секунды со времени Эпохи», который должен быть тем же самым номером, независимо от того, существует ли временной интервал, т. Е. Если 'created' является меткой времени POSIX, тогда' created_utc' должен быть того же числа, и поэтому результат не изменится. – jfs

+0

@ J.F. Себастьян Удивительный! Спасибо за объяснение, теперь имеет смысл. –