Próbuję wydrukować wszystkie komentarze z najwyższych wpisów subreddita, aby mój bot mógł je przeanalizować. Miałem go uruchomionego wcześniej tego samego dnia, ale próbowałem go teraz uruchomić i natknąłem się na błąd.W prawdzie, próbuję wydrukować treść komentarza, ale co, jeśli napotkam pusty komentarz?
Oto mój kod:
r = praw.Reddit('Comment crawler v1.0 by /u/...')
r.login('username', 'password')
subreddit=r.get_subreddit('subreddit')
post_limit = 25
subreddit_posts = subreddit.get_hot(limit=post_limit)
subids = set()
for submission in subreddit_posts:
subids.add(submission.id)
subid = list(subids)
i=0
while i < post_limit:
submission = r.get_submission(submission_id=subid[i])
flat_comments = praw.helpers.flatten_tree(submission.comments)
with open('alreadydone.txt', 'r') as f:
already_done = [line.strip() for line in f]
f.close()
for comment in flat_comments:
if "Cricketbot, give me Australian news" in **comment.body** and comment.id not in already_done:
info = feedparser.parse(Australia) #Australia gives a link to an RSS feed.
zagrała sekcja gdzie ja mam ten problem. Próbuję przejrzeć komentarze, w których napisano "Cricketbot, daj mi australijskie wiadomości". Niestety, jeśli nie ma tu treści komentarza, tzn. Komentarz jest pusty, kod zwraca błąd atrybutu i mówi, że komentarz nie ma atrybutu "body".
Jak obejść ten problem?
Aby wyświetlić cały kod, odwiedź stronę GitHub page for the bot.
Dziękuję bardzo! Przepraszam również, to było rzeczywiście "AttributeError:" 'nie ma atrybutu "body". Zapakowałem go w try i tylko to działało, ale drugie nie działa (czytaj: "Nie rozumiem, jak go używać"). Wygląda na to, że sprawdza, czy ciało istnieje, ale po poleceniu przekazu po prostu uruchamia kod. –
sunny
Ups, powinno to być kontynuacja, a nie podanie w innych przykładach. Naprawiony. – bboe
To ma teraz sens.Dziękuję raz jeszcze! – sunny