讨论区 老师答疑区 主题详情
Orasgi
置顶 精华 老师参与 关于爬虫乱码的一个问题

想爬一个小说网页的全部中文内容,但是解码的时候变成字符串了,想请教一下什么原因。

代码:

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&#195;&#226;&#183;&#209;&#205;&#248;www.3gmfw.cn&#195;&#226;&#183;&#209;&#206;&#170;&#196;&#227;&#183;&#214;&#207;\xa8\xaa<b>\xa1\xe3&#217;\xa1\xc0&#228;&#180;\xa8\xae&#213;\xa8\xac&#204;&#189;&#200;&#203;&#211;&#227;&#214;&#174;\xa8\xa6&#228;&#208;\xa1\xc1&#202;&#214;&#202;&#199;&#203;&#173;&#163;&#191; \xa1\xe3&#217;\xa1\xc0&#228;&#180;\xa8\xae&#213;\xa8\xac&#204;&#189;&#200;&#203;&#211;&#227;&#214;&#174;\xa8\xa6&#228;&#185;&#165;&#194;&#212;,\xa1\xe3&#217;\xa1\xc0&#228;&#180;\xa8\xae&#213;\xa8\xac&#204;&#189; &#200;&#203;&#211;&#227;&#214;&#174;\xa8\xa6&#228; \xa1\xe3&#217;\xa1\xc0&#228;&#180;\xa8\xae&#213;\xa8\xac&#204;&#189;&#200;&#203;&#211;&#227;&#214;&#174;\xa8\xa6&#228;</b>&#181;&#196;&#207;\xa8\xa4&#185;&#216;\xa1\xc1&#202;&#212;&#180;&#200;&#231;&#207;&#194;&#163;&#186;\r\n                     <p><strong>\xa1\xe3&#217;\xa1\xc0&#228;&#180;\xa8\xae&#213;\xa8\xac&#204;&#189;&#200;&#203;&#211;&#227;&#214;&#174;\xa8\xa6&#228;&#208;\xa1\xc1&#202;&#214;&#202;&#199;&#203;&#173;&#163;&#191; \xa1\xe3&#217;\xa1\xc0&#228;&#180;\xa8\xae&#213;\xa8\xac&#204;&#189;&#200;&#203;&#211;&#227;&#214;&#174;\xa8\xa6&#228;&#185;&#165;&#194;&#212;</strong></p>\n<p>&#200;&#203;&#211;&#227;&#214;&#174;\xa8\xa6&#228;&#213;&#230;&#207;\xa8\xa4  <br/>\n<br/>\n&#195;&#213;&#181;\xa1\xc1:<br/>\n<br/>\nweaverflower(&#196;&#166;&#203;&#185;&#195;&#220;&#194;&#235;;&#214;&#175;&#197;&#174;&#187;\xa1\xa7)<br/>\n<br/>\n&#188;&#180;&#189;&#171;\xa1\xc0&#216;&#203;&#192;&#206;&#222;&#210;&#201;&#181;&#196;&#200;&#203;&#163;&#186;<br/>\n<br/>\n&#192;&#213;&#191;&#203;&#203;&#185;(\xa1\xc0&#190;&#185;\xa8\xb2&#185;&#171;&#190;&#244;)<br/>\n<br/>\n&#212;\xa8\xac&#179;&#201;\xa1\xe3&#172;&#192;\xa8\xb0&#182;\xa8\xb4\xa1\xc1&#238;&#214;&#213;&#203;&#192;&#205;&#246;&#181;&#196;&#200;&#203;&#202;&#199;&#163;&#186;<br/>\n<br/>\n\xa1\xe3&#163;&#200;&#240;&#191;&#203;<br/>\n<br/>\n\xa1\xe3&#163;&#200;&#240;&#191;&#203;(\xa1\xc0&#190;&#185;\xa8\xb2&#205;&#245;\xa1\xc1&#211;)&#181;&#196;&#213;&#230;\xa1\xe3&#174;\xa1\xe3&#161;&#163;&#186;<br/>\n<br/>\n&#184;&#165;&#192;&#205;&#181;&#194;(\xa1\xc0&#190;&#185;\xa8\xb2&#185;\xa8\xb2&#205;&#245;)&#161;&#162;&#192;&#213;&#191;&#203;&#203;&#185;(\xa1\xc0&#190;&#185;\xa8\xb2&#185;&#171;&#190;&#244;)<br/>\n<br/>\n&#203;&#185;&#191;\xa1\xa7&#205;&#208;(\xa1\xc0&#190;&#185;\xa8\xb2&#198;&#205;&#180;&#211;)&#186;&#205;&#192;&#213;&#191;&#203;&#203;&#185;(\xa1\xc0&#190;&#185;\xa8\xb2&#185;&#171;&#190;&#244;)&#181;&#196;&#185;&#216;&#207;&#181;&#202;&#199;&#163;&#186;<br/>\n<br/>\n&#186;&#207;\xa1\xc1\xa1\xc2&#185;&#216;&#207;&#181;<br/>\n<br/>\n&#210;&#187;&#161;&#162;&#200;&#206;&#206;&#241;&#210;&#187;:  <br/>\n<br/>\n&#205;&#198;&#192;\xa8\xaa&#183;&#189;&#183;\xa1\xa7:<br/>\n<br/>\n&#183;&#199;&#204;&#211;&#205;&#209;&#163;&#172;&#180;\xa8\xae&#188;&#210;&#192;\xa8\xaa&#199;&#229;&#195;&#191;&#184;&#246;&#200;&#203;&#203;\xa8\xb4&#214;&#208;&#181;&#196;&#210;&#169;&#206;&#239;&#186;&#205;&#196;\xa1\xec&#183;\xa1\xa7&#163;&#172;&#212;&#217;&#210;&#192;&#190;&#221;&#198;&#228;&#212;&#173;&#192;\xa8\xaa&#205;&#198;&#182;&#207;&#188;&#180;&#191;&#201;&#161;&#163;

...................


课程

所有回复(1)

置顶 精华

您好,感谢您对乐学偶得的支持!

因为您提出的是课外问题,我们只能帮您提供大致思路,无法帮您直接debug解答,请见谅。


根据您提供的信息,我们推测可能是编码问题。 爬取的数据已经是完整的编码返回,只不过无法现实成我们熟悉的文字。我们推测可以通过变更解码方式进行解决(比如Unicode,UTF-8,GB18030等等)看看能否解决呢?


另外解码是使用decode,您可以看看是否是编码与解码的命令打反了呢?


加油!

2020-7-22

回复

代码语言
字号
发布

发表观点要登录哦!

最近活动:2020-7-22
创建时间:2020-7-22
浏览次数:33
关注人数:0

使用协议与隐私政策

感谢您使用网易云课堂!

为了更好地保障您的个人权益,请认真阅读《使用协议》《隐私政策》《服务条款》的全部内容,同意并接受全部条款后开始使用我们的产品和服务。若不同意,将无法使用我们的产品和服务。

同意
手机课堂
下载App
返回顶部