ウェブサイトからテキストデータを取得しようとしていますが、このコードにはエラーが表示されます。エラーがどこにあるか教えてください。UTF-8をエンコードするときにエラーが発生する
import requests
from bs4 import BeautifulSoup
def getportions(soup):
for p in soup.find_all("p", {"class": ""}):
yield p.text
def readpage(address):
page = requests.get(address)
soup = BeautifulSoup(page.text, "html.parser")
output_text = ''
for s in getportions(soup):
output_text += s.encode("utf8")
output_text += "\n"
print (output_text)
print ("End of article")
fp = open("content.txt", "w")
fp.write(output_text)
if __name__ == "__main__":
readpage("http://yahoo.com")
エラーを以下に示します。
output_text += s.encode("utf8"). TypeError: Can't convert 'bytes' object to str implicitly
'' bytes'を返し.encode':
あなたは、単に
?
と、すべての非ASCII文字を置き換えることで、テキストをサニタイズしたい場合は、ファイルその道を開きますオブジェクト。あなたは何をしようとしているのですか? –@MorganThrappファイルに内容を書き込もうとしています –
'decode'を意味するのでしょうか?なぜあなたは 'utf-8'で何かをする必要があると思いますか? –