鍍金池/ 問答/數(shù)據(jù)分析&挖掘  Python  HTML/ 為什么python爬蟲獲取到的是一串utf8編碼而不是正常的字符串?

為什么python爬蟲獲取到的是一串utf8編碼而不是正常的字符串?

try:
    req = urllib.request.Request(url, headers=hds[page_num%len(hds)])
    source_code = urllib.request.urlopen(req).read()
    plain_text=str(source_code)   
except:
    print ("Error.")
    continue
    
soup = BeautifulSoup(plain_text, from_encoding='utf-8')
list_soup = soup.find('div', {'class': 'mod book-list'})

try_times+=1;
if list_soup==None and try_times<200:
    continue
elif list_soup==None or len(list_soup)<=1:
    break # Break when no informatoin got after 200 times requesting

for book_info in list_soup.findAll('dd'):
    title = book_info.find('a', {'class':'title'}).string.strip()
    desc = book_info.find('div', {'class':'desc'}).string.strip()
    desc_list = desc.split('/')
    book_url = book_info.find('a', {'class':'title'}).get('href')
    
    #輸出爬取到的書籍的標(biāo)題
    print(title)

上面的代碼是爬取豆瓣網(wǎng)的爬蟲,為什么我爬取的書籍的標(biāo)題(title),是一串utf-8編碼,而不是正常的字符串?如下圖:

clipboard.png

由于獲取到的標(biāo)題(title)其實仍然是str類型,所以無法使用decode函數(shù)解碼,請問還有什么辦法可以解決嗎?

回答
編輯回答
安淺陌

試一試

text.encode('latin-1').decode('unicode_escape') 
2017年7月24日 04:03