2013-11-03 44 views
1

我試圖用praw獲得的給定版(Subreddit)的所有時間前25題中獲取回報&:使用praw

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」編解碼器不能編碼字符U「\ XA3」在第63位:在範圍序數不(128)

所以我改變了裏面的行for循環:

titlesFile.write(s.title.encode('utf-8', 'replace') + '\n') 

和它的作品,但在文件──test.txt文件我得到「0」 amp;「amp;」 (沒有空間)而不是「&」。我可以用一些字符串替換函數來改變它們,但是有什麼辦法可以直接寫出正確的標題嗎?另外,爲什麼我必須使用encode()方法?

+0

[有解碼HTML實體看看(HTTP:// stackoverflow.com/questions/2087370/decode-html-entities-in-python-string) –

回答