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 중국어 웹사이트의 기타 관련 기사를 참조하세요!