想爬一个小说网页的全部中文内容,但是解码的时候变成字符串了,想请教一下什么原因。
代码:
def JinRuYeMian(wangzi):
html = wangzi
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36',
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language':'en-US,en;q=0.5',
'Accept-Encoding':'gzip',
'DNT':'1',
'Connection':'close'
}
soup_obj=BeautifulSoup(page.content,'html.parser')
txt_content = soup_obj.find(id = 'mainNewsContent')
jiema = txt_content.encode('GB2312')#以该网站的编码方式解码
print(jiema)
输出结果:
b'<div class="mainNewsContent NewsContent" id="mainNewsContent">\n<p></p>\n<table border="0" width="100%">\n<tr>\n<td><script language="javascript" src="/adfile/contentad3.js"></script></td>\n<td><script language="javascript" src="/adfile/contentad4.js"></script></td>\n</tr>\n</table>\n<p></p>\r\n\t\t\t\t\t 3GÃâ·ÑÍøwww.3gmfw.cnÃâ·ÑΪÄã·ÖÏ\xa8\xaa<b>\xa1\xe3Ù\xa1\xc0ä´\xa8\xaeÕ\xa8\xac̽ÈËÓãÖ®\xa8\xa6äÐ\xa1\xc1ÊÖÊÇË­£¿ \xa1\xe3Ù\xa1\xc0ä´\xa8\xaeÕ\xa8\xac̽ÈËÓãÖ®\xa8\xa6ä¹¥ÂÔ,\xa1\xe3Ù\xa1\xc0ä´\xa8\xaeÕ\xa8\xac̽ ÈËÓãÖ®\xa8\xa6ä \xa1\xe3Ù\xa1\xc0ä´\xa8\xaeÕ\xa8\xac̽ÈËÓãÖ®\xa8\xa6ä</b>µÄÏ\xa8\xa4¹Ø\xa1\xc1ÊÔ´ÈçÏ£º\r\n <p><strong>\xa1\xe3Ù\xa1\xc0ä´\xa8\xaeÕ\xa8\xac̽ÈËÓãÖ®\xa8\xa6äÐ\xa1\xc1ÊÖÊÇË­£¿ \xa1\xe3Ù\xa1\xc0ä´\xa8\xaeÕ\xa8\xac̽ÈËÓãÖ®\xa8\xa6ä¹¥ÂÔ</strong></p>\n<p>ÈËÓãÖ®\xa8\xa6äÕæÏ\xa8\xa4 <br/>\n<br/>\nÃÕµ\xa1\xc1:<br/>\n<br/>\nweaverflower(Ħ˹ÃÜÂë;֯Ů»\xa1\xa7)<br/>\n<br/>\n¼´½«\xa1\xc0ØËÀÎÞÒɵÄÈË£º<br/>\n<br/>\nÀÕ¿Ë˹(\xa1\xc0¾¹\xa8\xb2¹«¾ô)<br/>\n<br/>\nÔ\xa8\xac³É\xa1\xe3¬À\xa8\xb0¶\xa8\xb4\xa1\xc1îÖÕËÀÍöµÄÈËÊÇ£º<br/>\n<br/>\n\xa1\xe3£Èð¿Ë<br/>\n<br/>\n\xa1\xe3£Èð¿Ë(\xa1\xc0¾¹\xa8\xb2Íõ\xa1\xc1Ó)µÄÕæ\xa1\xe3®\xa1\xe3¡£º<br/>\n<br/>\n¸¥À͵Â(\xa1\xc0¾¹\xa8\xb2¹\xa8\xb2Íõ)¡¢ÀÕ¿Ë˹(\xa1\xc0¾¹\xa8\xb2¹«¾ô)<br/>\n<br/>\n˹¿\xa1\xa7ÍÐ(\xa1\xc0¾¹\xa8\xb2ÆÍ´Ó)ºÍÀÕ¿Ë˹(\xa1\xc0¾¹\xa8\xb2¹«¾ô)µÄ¹ØÏµÊÇ£º<br/>\n<br/>\nºÏ\xa1\xc1\xa1\xc2¹ØÏµ<br/>\n<br/>\nÒ»¡¢ÈÎÎñÒ»: <br/>\n<br/>\nÍÆÀ\xa8\xaa·½·\xa1\xa7:<br/>\n<br/>\n·ÇÌÓÍÑ£¬´\xa8\xae¼ÒÀ\xa8\xaaÇåÿ¸öÈËË\xa8\xb4ÖеÄÒ©ÎïºÍÄ\xa1\xec·\xa1\xa7£¬ÔÙÒÀ¾ÝÆäÔ­À\xa8\xaaÍÆ¶Ï¼´¿É¡£
...................
您好,感谢您对乐学偶得的支持!
因为您提出的是课外问题,我们只能帮您提供大致思路,无法帮您直接debug解答,请见谅。
根据您提供的信息,我们推测可能是编码问题。 爬取的数据已经是完整的编码返回,只不过无法现实成我们熟悉的文字。我们推测可以通过变更解码方式进行解决(比如Unicode,UTF-8,GB18030等等)看看能否解决呢?
另外解码是使用decode,您可以看看是否是编码与解码的命令打反了呢?
加油!