Python 3 requests 를 이용 하여 웹 페이지 의 원본 코드 를 캡 처 하 는 중국어 난호 문제 (gb 2312 인 코딩 으로 인해 발생)
7297 단어 Python
중국어 난호
환상 적 인 서 유 홈 페이지 를 예 로 들 면
웹 페이지http://xyq.163.com/news/index.html
헤더 부분
<head>
<meta charset="gb2312" />
<title> _《 》 - title>
<meta name="keywords" content="《 》 ,Q , , , , , , , " />
<meta name="description" content="《 》 , , ;3.6 ,271 , 。 、 !" />
<meta name="author" content=" ,NetEase Inc." />
<meta name="copyright" content=" ,NetEase Inc." />
<meta name="pmid" content="272711" />
<meta name="editor" content="rosiel" />
<meta name="designer" content="QQ,rain" />
<meta name="front-end technicist" content="Django" />
<meta name="animator" content="hy" />
<link type="text/css" rel="stylesheet" href="http://res.xyq.netease.com/gw/13v1/css/common.css" media="all" />
<style>
.NIE-share1 .NIE-share-more em{top: -17px !important;}
style>
<script charset="gb2312" src="http://res.nie.netease.com/comm/js/jquery(mixNIE).last.js">script>
<script charset="gb2312" src="http://res.xyq.netease.com/gw/13v1/js/common.js">script>
head>
python 기어 오 르 기 코드
# -*- coding: utf-8 -*-
>>> import requests
>>> url = 'http://xyq.163.com/news/index.html'
>>> r = requests.get(url)
>>> data = r.text
>>> title = data.split('' )[1].split(' ')[0]
>>> print(title)
×îÐÂÏûÏ¢_¡¶ÃλÃÎ÷ÓΡ·µçÄÔ°æ¹Ù·½ÍøÕ¾
>>>
해결 방안
웹 페이지 내용 을 가 져 올 때 원본 파일 을 latin 1 인 코딩 (encode 함수 사용) 으로 디 코딩 하여 gbk 인 코딩 (decode 함 수 를 사용 하면 정확 한 중국 어 를 출력 할 수 있 습 니 다.
# -*- coding: utf-8 -*-
>>> import requests
>>> url = 'http://xyq.163.com/news/index.html'
>>> r = requests.get(url)
>>> data = r.text.encode("latin1").decode("gbk")
>>> title = data.split('' )[1].split(' ')[0]
>>> print(title)
_《 》
>>>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.