我想用PRAW获得给定subreddit的前25名:
import praw
subreddit = 'gamedeals'
r = praw.Reddit(user_agent='getting top 25 of all time by /u/sqrg')
submissions = r.get_subreddit(subreddit).get_top_from_all(limit=25)
titlesFile = open("text.txt", 'w')
for s in submissions:
titlesFile.write(s.title.encode('utf-8', 'replace') + '\n')
titlesFile.close()
我得到以下错误:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa3' in position 63: ordinal not in range(128)
所以我把for循环中的行改为:
^{pr2}$它是有效的,但是在文本.txt我得到的文件是&
,而不是&
。我可以用一些字符串替换函数来更改它们,但是有没有办法直接写出正确的标题呢?另外,为什么我必须使用encode()
方法?在
启用解码html实体的设置:
配置文件文档:https://praw.readthedocs.org/en/latest/pages/configuration_files.html
更多信息:https://github.com/praw-dev/praw/issues/186
相关问题 更多 >
编程相关推荐