중국 XPath를 해결 깨진

일치하는 요소의 효율성을 개선하지만, XPath는, 후 태그 트리를 사용하여 구축하지만, etree는 ASCII 코드로 중국어를 넣어, 그래서 미래는 단순히 깨진 tostring 것입니다.

해결 방법 :

수입 요청
 에서 requests.exceptions는 가져 RequestException
 에서 LXML의 수입 etree 

헤더 = {
     ' 사용자 에이전트를 ' : ' 모질라 / 5.0 (매킨토시, 인텔 맥 OS X 10_14_2) AppleWebKit / 605.1.15 (KHTML, 도마뱀 붙이 등) 버전 / 12.0.2 사파리 / 605.1.15 ' , 
} 


데프 (URL, 헤더) get_one_page :
     시도 : 
        응답 = requests.get (URL, 헤더 = 헤더)
         의 경우 response.status_code의 == 200 : 
            response.encoding =response.apparent_encoding
             복귀 response.text
         돌아 오지 없음을
     제외 RequestException :
         반환 없음 


트리 = etree.HTML (HTML) 
목표 = tree.xpath (EXP)를
 위한 I 목적 : 
    콘텐츠 = etree.tostring (I 인코딩 = " UTF-8 " , pretty_print = TRUE, METHOD = " HTML " ) .decode ( " UTF-8 " )

 

추천

출처www.cnblogs.com/Rhythm-/p/11374832.html