이 문서의 내용은 pyquery 파서가 태그 이름 dom 노드를 얻을 수 없는 문제에 대한 것입니다. 이는 특정 참조 값을 가지고 있으므로 도움이 될 수 있습니다.
저는 진지한 프론트엔드 개발자로서 Python을 배우는 과정에서 자연스럽게 pyquery 파서를 선택하게 되었습니다. 결국 프론트엔드 jquery와 마찬가지로 학습 시간이 많이 절약됩니다.
그러나 사용 중에 pyquery가 jquery만큼 편리하게 dom 노드를 필터링할 수 없다는 문제가 발견되었습니다.
몇몇 조사 끝에 우리는 클래스 이름의 경우 pyquery가 여전히 쉽게 노드를 얻을 수 있지만 a, p, img... 등과 같은 기본 태그를 사용할 때 노드를 얻을 수 없다는 사실을 발견했습니다.
한때 매우 좌절했습니다...
범인
<div xmlns="http://www.w3.org/1999/xhtml" class="image-item-inner" style="width: 398px; height: 598px;"><img src="http://p3.pstatp.com/origin/3f240001a4f84996876d" data-src="http://p3.pstatp.com/origin/3f240001a4f84996876d" alt="" /> <a href="http://p3.pstatp.com/origin/3f240001a4f84996876d" title="查看原图" target="_blank" ga_event="view_original_photo" class="image-origin"><i class="bui-icon icon-enlarge" style="font-size: 14px; color: rgb(255, 255, 255);" /></a></div>
사실 문제는 xmlns="http://www.w3.org/1999/xhtml"에 있습니다. pyquery로 구문 분석되는 기본 문서입니다. xmlns 형식이며 이 형식으로 인해 기본 태그를 얻을 수 없습니다.
doc = pq(browser.page_source,parser="html")
해법은 파싱시 parser="html"을 설정해 주면 문제가 해결됩니다.
위 내용은 pyquery 파서가 태그 이름 dom node를 얻을 수 없는 문제에 대한 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!