私はウェブサイトからhtmlの内容をPythonに読み込み、そこのテキストを分析し、どのカテゴリに入るかを決めようとしています。私は彼らが彼らと一緒に仕事をしようとしているときに彼らがNoneTypeに入ると長いダッシュで問題があります。私はこのサイトで提案されたいくつかの修正を試みましたが、それらのどれも働いていませんでした。文字列から長いダッシュを削除する
from bs4 import BeautifulSoup
import re
import urllib.request
response = urllib.request.urlopen('website-im-opening')
content = response.read().decode('utf-8')
#this does not work
content = content.translate({0x2014: None})
content = re.sub(u'\u2014','',content)
#This is other part of code
htmlcontent = BeautifulSoup(content,"html.parser")
for cont in htmlcontent.select('p'):
if cont.has_attr('class') == False:
print(cont.strip()) #Returns an error as text contains long dash
他のテキストを処理するには、文字列から長いダッシュをどのようにフィルタリングできますか?私はそれを短いダッシュで置き換えるか、完全に削除することができます、彼らは私のために重要ではありません。
ありがとうございます!
さて、デコード( 'utf-8')を削除する必要がありますが、ポイント1ではどういう意味ですか? – Banana
@Bananaは私の更新をチェックするので、HTMLコードに何もしないでください。 –
forループでcont.strip()を実行しても、私にはNoneTypeオブジェクトは呼び出し可能なエラーではありません。 – Banana