[英]Python AttributeError: 'str' object has no attribute 'get'
[英]Why do I get an “AttributeError: 'str' object has no attribute 'write' ” in this python code
我試圖將一個漂亮的湯對象中的文本保存到文件中,以后我可以編輯和使用。 我已經導入了所有必要的模塊,但由於某種原因,每次在“pagename.write(str(soup))”時我都會得到相同的錯誤。我嘗試重寫這種多重方式而且我只是難倒
#Testing implementation of writing to file
#save the HTML to a beautiful soup object
soup = BeautifulSoup(browser.page_source, 'html.parser')
#TODO: use breadcrumb of page name for loop later on
breadcrumb = soup.select('.breadcrumb span')
pagename = breadcrumb[0].get_text()
#open a file then write to it
bookPage = os.path.join('books/cpp/VST', pagename+'.txt')
open(pagename, 'wb')
pagename.write(str(soup))
#close file
#pagename.close()
#TODO: move on to next file
pagename
是一個字符串 - 從HTML中提取的文件名。
你的意思是使用bookPage
路徑和with
上下文管理器 。 另外,要避免TypeError:需要類似字節的對象,而不是'str'錯誤並獲得字節字符串,您需要調用encode()
:
with open(bookPage, 'wb') as f:
f.write(soup.encode("utf-8"))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.