일치하는 요소의 효율성을 개선하지만, 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 " )