중화사전망 - 자전 검색 - 웹 페이지 인코딩과 파이썬 인코딩이 일치하지 않으면 어떻게 합니까?

웹 페이지 인코딩과 파이썬 인코딩이 일치하지 않으면 어떻게 합니까?

웹 페이지의 인코딩 형식은 UTF-8, GBK23 12 등과 같이 다양합니다. 웹 페이지 F 12 에서 ctrl+f 검색 문자 집합은 해당 웹 페이지에서 사용하는 인코딩 형식 (예: CSDN 문자 집합 = "UTF-8 ") 을 표시합니다. 파이썬 (python) 을 사용하여 웹 콘텐츠를 얻을 때, 종종 웹 페이지 인코딩 문제로 인해 프로그램이 충돌하거나 이진 콘텐츠를 많이 얻을 수 있어 소프트웨어 호환성이 떨어집니다. 한 가지 방법은 타사 라이브러리 chardet 을 통해 인코딩 형식을 가져온 다음 호환성을 위해 이 인코딩 형식을 사용하여 데이터를 디코딩하는 것입니다.

1. chardet 라이브러리 설치

Chardet 은 사용하기 전에 설치해야 하는 타사 라이브러리입니다. 간단한 방법은 DOS 인터페이스를 시작하고 python 설치 경로 아래에 스크립트 경로 (pip 스크립트 포함) 를 입력하고 "pip install chardet" 을 실행하여 설치를 완료하는 것입니다 (pip 를 먼저 업데이트하고 프롬프트에 따라 명령을 실행해야 할 수 있음).

2. 문자 세트를 가져오고 함수를 설정합니다.

파이썬 프로젝트의 가져온 문자 세트 라이브러리 ("chardet”); 가져오기"); 이 기능은 다음과 같이 생성됩니다.

Get_url_context(url) 를 정의합니다.

Content = urllib.request.urlop (URL) # 웹 컨텐츠를 가져옵니다.

Encode = chardet 입니다. Detect (content) # 웹 페이지 인코딩 형식의 사전 정보를 가져옵니다. 사전 인코딩의 key encoding 값은 인코딩 형식입니다.

콘텐츠로 돌아갑니다. Decode (encode ['encoding'],' ignore') # 가져온 인코딩 형식에 따라 디코딩하고 인식할 수 없는 인코딩 정보를 무시합니다.

위 함수의 반환 값은 웹 페이지의 디코딩 내용으로, 웹 페이지가 어떤 형식의 인코딩이든 쉽게 식별할 수 있습니다. 디코딩할 때' ignore' 매개변수를 추가해야 합니다. 그렇지 않으면 웹 페이지에 혼합 인코딩이 나타나 프로그램 오류가 발생할 수 있습니다.