美文网首页
【问题记录】爬取网站中文乱码问题

【问题记录】爬取网站中文乱码问题

作者: 胖三斤66 | 来源:发表于2019-07-22 20:15 被阅读0次

    问题描述

    response = utils.send_request('http://www.crha.cn/gzdt.html')
    print(response.text)
    
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>å·¥ä½�å�¨æ��â��中å�½ç �究å��å�»é�¢å­¦ä¼�</title>
    <meta name="Keywords" content="å·¥ä½�å�¨æ��,中å�½ç �究å��å�»é�¢å­¦ä¼�,ç �究å��å�»é�¢å­¦ä¼�,ç �究å��å�»é�¢,ç �究å��å�»é�¢å»ºè®¾" />
    <meta name="Description" content="中å�½ç �究å��å�»é�¢å­¦ä¼�æ�¯å¸®å�©ç �究å��å�»é�¢æ��建â��临åº�é�®é¢�â��å®�éª�ç �究â��临åº�æ²»ç��â��循ç�¯æ�°æ�ºå�¶ï¼�å½¢æ��å�»è�¯ç»�å��ã��å�»å·¥ç»�å��ã��å�ºç¡�ä¸�临åº�ç»�å��ã��ç �究ä¸�转å��ç�¸é
    �å¥�ç��ç§�æ��å��æ�°æ¨¡å¼�ï¼�ä¿�è¿�ç �究å��å�»é�¢æ��为ç��é�¾å�±é��ç�
    ç��ç��è¯�ç��å�ºå�°ã��é«�æ�°è�¯ç�©è®¾å¤�ç��ç �å��å�ºå�°ã��å
    �������������学��信��交����" />
    <meta http-equiv="x-ua-compatible" content="ie=emulateie7" />
    <link href="/Css/Style.css" rel="stylesheet" type="text/css" />
    </head>
    ...
    

    原因分析

    Python 终端的编码方式是 UTF-8 ,而 HTML 编码方式并不是 UTF-8 (可通过 response.encoding 查询页面编码格式),所以中文产生了乱码

    解决方案

    response = utils.send_request('http://www.crha.cn/gzdt.html')
    print(response.encoding)  # 1.查询页面的编码方式,此处为 ISO-8859-1
    
    print(response.text.encode('ISO-8859-1').decode('utf-8'))  # 2.解码再编码
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>工作动态—中国研究型医院学会</title>
    <meta name="Keywords" content="工作动态,中国研究型医院学会,研究型医院学会,研究型医院,研究型医院建设" />
    <meta name="Description" content="中国研究型医院学会是帮助研究型医院构建“临床问题―实验研究―临床治疗”循环新机制,形成医药结合、医工结合、基础与临床结合、研究与转化相配套的科技创新模式,促进研究型医院成为疑难危重病症的诊疗基地、高新药物设备的研发基地、先进医疗技术的创新基地和医学科技信息的交流基地。" />
    <meta http-equiv="x-ua-compatible" content="ie=emulateie7" />
    <link href="/Css/Style.css" rel="stylesheet" type="text/css" />
    </head>
    ...
    
    encode与decode函数

    相关文章

      网友评论

          本文标题:【问题记录】爬取网站中文乱码问题

          本文链接:https://www.haomeiwen.com/subject/scdglctx.html