我有一個簡單的RSS源腳本,它將每篇文章的內容並通過一些簡單的處理運行它,然後將其保存在數據庫中。python - 掙扎與字符串編碼和重音引號/撇號
問題是,通過以下所有重音撇號運行文本並從文本中刪除引號。
# this is just an example string, I use feed_parser to download the feeds
string = """  <p>This is a sentence. This is a sentence. I'm a programmer. I’m a programmer, however I don’t graphic design.</p>"""
text = BeautifulSoup(string)
# does some simple soup processing
string = text.renderContents()
string = string.decode('utf-8', 'ignore')
string = string.replace('<html>','')
string = string.replace('</html>','')
string = string.replace('<body>','')
string = string.replace('</body>','')
string = unicodedata.normalize('NFKD', string).encode('utf-8', 'ignore')
print "".join([x for x in string if ord(x)<128])
導致:
> <p> </p><p>This is a sentence. This is a sentence. I'm a programmer. Im a programmer, however I dont graphic design.</p>
所有的HTML實體報價/撇號被剝離出來。我該如何解決?
你真的想用['feedparser'庫(https://code.google.com/p/feedparser /)處理RSS提要時。它將爲您清理大部分的feeditems,而無需手動替換標籤(可以用不同的方式完成)。 – 2013-02-25 21:20:19
將它們去掉的東西是BeautifulSoup。這可能是設計。你能解釋一下你試圖通過使用它來完成什麼嗎? – entropy 2013-02-25 21:24:34
示例代碼不適用於我,因爲'BeautifulSoup'不會擴展'NNNN;'逃逸。 – wRAR 2013-02-25 21:27:05