>백엔드 개발 >Golang >golang에서 잘못된 크롤러 코드를 작성하는 방법

golang에서 잘못된 크롤러 코드를 작성하는 방법

angryTom
angryTom원래의
2020-02-15 09:52:403464검색

golang에서 잘못된 크롤러 코드를 작성하는 방법

golang에서 크롤러 왜곡 코드를 작성할 때 해야 할 일

golang에서 크롤러 프로그램을 작성할 때 인코딩 형식이 gb2312인 페이지를 만나게 됩니다.

웹 페이지에서 볼 수 있듯이 페이지의 문자 인코딩은 gb2312

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

이고 golang은 기본적으로 UTF-8 인코딩 형식을 지원하므로 직접 등반한 결과가 깨집니다.

해결책:

github.com/axgle/mahonia 사용 이 패키지는 인코딩 변환을 완료할 수 있습니다.

1. 실행 go get github.com/axgle/mahonia 이 패키지를 다운로드한 후 %gopath로 이동하세요.

github.com\axgle\mahonia

는 %/src

디렉터리에 생성됩니다. 2. 코드 사용 방법

1) 패키지 가져오기

import "github.com/axgle/mahonia"

2) 변환 함수

func ConvertToString(src string, srcCode string, tagCode string) string {
    srcCoder := mahonia.NewDecoder(srcCode)
    srcResult := srcCoder.ConvertString(src)
    tagCoder := mahonia.NewDecoder(tagCode)
    _, cdata, _ := tagCoder.Translate([]byte(srcResult), true)
    result := string(cdata)
    return result
}

3) 문자열 변환 인코딩이 필요한 경우 이 함수 호출

result = ConvertToString(html, "gbk", "utf-8")

More 더 많은 golang 지식을 알고 싶다면 PHP 중국어 웹사이트의 golang tutorial 칼럼을 주목해주세요.

위 내용은 golang에서 잘못된 크롤러 코드를 작성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.