下記のページから特殊文字を削除(またはエンコード)するにはどうしたらいいですか?Pythonで特殊文字を綺麗にします。美味しいスープ
import urllib2
from bs4 import BeautifulSoup
import re
link = "https://www.sec.gov/Archives/edgar/data/4281/000119312513062916/R2.htm"
request_headers = {"Accept-Language": "en-US,en;q=0.5", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Referer": "http://google.com", "Connection": "keep-alive"}
request = urllib2.Request(link, headers=request_headers)
html = urllib2.urlopen(request).read()
soup = BeautifulSoup(html, "html.parser")
soup = soup.encode('utf-8', 'ignore')
print(soup)
実際の問題は何ですか?なぜあなたはそれを印刷する前に結果をエンコードしていますか? Stdoutはすでにあなたの端末ロケールにエンコードしています。 –
私は、HTMLの解析中にエラーが発生するため、問題があると想定していますか?文字セット= us-asciiので、何かをエンコードする必要はありませんが、問題はHTMLが壊れていることです。あなたはそれを解析するためにhtml5libとlxmlを管理する別のパーサが必要ですが、うまくいく人を知っている壊れたhtmlをウィットにします。 –