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()
方法?
[有解碼HTML實體看看(HTTP:// stackoverflow.com/questions/2087370/decode-html-entities-in-python-string) –