> 백엔드 개발 > 파이썬 튜토리얼 > Pyquery : Python ' s jQuery

Pyquery : Python ' s jQuery

William Shakespeare
풀어 주다: 2025-03-01 10:22:09
원래의
552명이 탐색했습니다.

이 튜토리얼에서는 jQuery 라이브러리를 사용할 때 PyQuery

객체를 보면 $ () 로 얻는 것과 유사합니다. 선택한 요소의 html 컨텐츠를 얻거나 설정할 수있는 Pyquery의 HTML () 메소드와 마찬가지로, 현재 웹 페이지 객체는 전체 문서를 대표하기 때문에 전체 페이지의 마크 업을 반환한다고 말하면 첫 번째 웹 페이지의 마크 업을 반환하고 싶다고 가정 해 봅시다. 예는 다음과 같습니다. 이제 다음 코드를 살펴보십시오. 이제 html () 메서드를 사용하여 선택기의 HTML을 설정합니다.

볼 수 있듯이 특정 태그의 HTML을 조작하는 것은 매우 쉬웠습니다. 우리가 무엇을 바꿀 수 있는지 보자.

pyquery를 사용한 속성 조작
print(webpage.html())<br><br>'''<br><head><br><meta charset="utf-8"/><br><title>A Simple Webpage</title><br><meta name="viewport" content="width=device-width, initial-scale=1"/><br></head><br><br><body><br>    <p>Hello <b>world</b>! This is a basic webpage.</p><br>    <p>Here is a list of some <i>random</i> words:</p><br>    <ul ><br>        <li>Impedimenta</li><br>        <li>Decompensation</li><br>        <li>Tergiversation</li><br>        <li>Transcendentalism</li><br>        <li>Polyphiloprogenitive</li><br>    </ul><br></body><br>'''<br>
로그인 후 복사
로그인 후 복사

pyquery는 가능한 한 jQuery API를 가깝게 반영하려고한다. 이것은 목록에서 속성이라는 속성 메소드에 액세스 할 수 있음을 의미합니다. 또한 PyQuery의 Attr () 메소드에 클래스 세트를 추가하여 첫 번째 요소 대신 모든 일치하는 요소에 대한 속성 값을 설정합니다.

print(webpage("p").html())<br><br>'''<br>Hello <b>world</b>! This is a basic webpage.<br>'''<br>
로그인 후 복사
첫 번째 EQ () 메소드를 아래에 표시된대로 요소를 가져 오기 위해 클래스를 어떻게 적용 할 수 있습니까? 요소는 CSS 클래스를 각각 추가하거나 제거하는 removeClass () 메소드를 사용하는 것을 고려할 수 있습니다. 밑줄이라는 메소드 이름을 사용할 수 있습니다. 밑줄 표기법으로 작업하는 것이 더 편안한 경우 예는 다음과 같습니다. 는 다음과 같은 from pyquery import PyQuery as pq<br><br>webpage = pq(filename = 'document.html')<br><br>print(webpage("p").html())<br>'''<br>Hello <b>world</b>! This is a basic webpage.<br>'''<br><br>webpage("p").html("Hello <b>world</b>! I have changed this paragraph.")<br><br>print(webpage("p").html())<br>'''<br>Hello <b>world</b>! I have changed this paragraph.<br>'''<br> () updated_markup.html 라는 파일에 저장했습니다. 마크 업에 다양한 변경을 한 후에도 동일한 작업을 수행 할 수 있습니다.

요소를 작성, 제거 및 추가 요소

샘플 HTML 문서에 단어 목록이 포함되어 있음을 기억할 수 있습니다. 단어 목록을 확장 할 수 있습니까? 물론 우리는 할 수 있습니다. prepend () 메소드는 전달 된 값을 호출 노드로 선불로 만듭니다. 예를 들어 예를 들면 다음과 같습니다. 추가 요소 및 선불 요소에 대한 또 다른 옵션은 prepend_to () 메소드는 통화 노드를 전달 된 노드로 선불로 만듭니다. 그러나 문자열에서 이러한 방법을 간단히 호출 할 수는 없습니다. 아래와 같이 작업 요청을 위해 pyquery 객체로 랩핑해야합니다.

print(webpage.html())<br><br>'''<br><head><br><meta charset="utf-8"/><br><title>A Simple Webpage</title><br><meta name="viewport" content="width=device-width, initial-scale=1"/><br></head><br><br><body><br>    <p>Hello <b>world</b>! This is a basic webpage.</p><br>    <p>Here is a list of some <i>random</i> words:</p><br>    <ul ><br>        <li>Impedimenta</li><br>        <li>Decompensation</li><br>        <li>Tergiversation</li><br>        <li>Transcendentalism</li><br>        <li>Polyphiloprogenitive</li><br>    </ul><br></body><br>'''<br>
로그인 후 복사
로그인 후 복사
당신이 볼 수 있듯이, 우리는 동일한 출력을 얻습니다. 또한 children () 를 호출하여 문서에서 노드를 제거 할 수 있으며 children () 메소드는 호출 노드의 직접적인 어린이 인 모든 요소를 ​​반환합니다. 우리의 경우 이것은 모든 목록 요소를 의미합니다. 그 후, 우리는 li 태그를 사용하여 지금 비어있는 비정규 목록에 추가합니다. pyquery 를 사용하여 요소를 찾는 것은 HTML 문서를 사용하여 일부 데이터를 추출 할 가능성이 높습니다. 이제 모든 요소 에서이 데이터를 추출하기 전에 요소를 찾거나 찾아야합니다.

특정 선택자의 조상을 검색하는 데 관심이있는 경우 Closest () 메소드를 사용하여 요소를 찾을 수 있습니다. 당신이 사용할 수있는 다른 유사한 방법은 prev_all () 이며, 다음에 오는 모든 형제 자매 또는 각각 이전에 온 형제 자매를 줄 것입니다. 예는 다음과 같습니다.

웹 페이지에서 컨텐츠 추출

튜토리얼의 시작 부분에서 PyQuery가 문자열, 파일 또는 URL 또는 URL과 같은 여러 소스에서 입력을 수락 할 수 있다고 말했을 때 기억하십니까? 웹 페이지에는 Python에 대한 많은 정보가 포함되어 있습니다. 우리는 소비를 위해 그 중 일부를 추출하려고 노력할 것입니다. h2 <p> 레벨 제목을 모두 간단하게 유지하기 위해 레벨 제목을 얻을 수 있는지 살펴 보겠습니다. </p> 믿거 나 말거나, 제목 텍스트를 얻으려면 5 줄의 코드 만 있으면됩니다. print(webpage("p").html())<br><br>'''<br>Hello <b>world</b>! This is a basic webpage.<br>'''<br>를 사용했음을 알 수 있습니다. 이것은 단순히 h2

를 사용하면 주요 콘텐츠의 일부가 아닌 추가 제목을 제공했기 때문입니다. 또한 정보를 추출하는 데 사용할 적절한 선택기를 결정하기 전에 비슷한 웹 페이지를 직접 수행해야합니다. 이미 이미지를 다운로드하기 위해 모듈을 사용한 Python의 요청 모듈에 대한 자습서를 이미 작성했습니다. 내가 포함한 예제의 한 가지 제한은 우리가 이미지의 경로를 하드 코딩하고 있다는 것이었다. Pyquery 라이브러리를 사용하여 웹 페이지에서 이미지 경로를 추출한 다음 요청 모듈로 공급하여 다운로드합시다. 이 예제에서는 미국에 대한 Wikipedia 페이지를 사용할 것입니다.

UI 아이콘 등의 이미지를 다운로드하고 싶지 않기 때문에보다 구체적인 선택기를 사용하여 이미지를 추출합니다. 이미지 파일 이름을 /
from pyquery import PyQuery as pq<br><br>webpage = pq(filename = 'document.html')<br><br>print(webpage("p").html())<br>'''<br>Hello <b>world</b>! This is a basic webpage.<br>'''<br><br>webpage("p").html("Hello <b>world</b>! I have changed this paragraph.")<br><br>print(webpage("p").html())<br>'''<br>Hello <b>world</b>! I have changed this paragraph.<br>'''<br>
로그인 후 복사
문자로 분할 한 후 이미지 경로의 마지막 부분을 가져 와서 얻습니다. 추출 할 수있는 일부 이미지는 다음과 같습니다. Pyquery : Python ' s jQuery이 튜토리얼에서 XML 문서에서 jQuery 쿼리를 만들 수있는 Python 라이브러리 인

로 시작하는 방법을 보았습니다. HTML 요소의 속성 및 CSS 스타일을 조작하는 방법을 보았습니다. 

당신은 요소를 기존 요소에 생성하고 추가하는 방법을 배웠고 요소 전후에 새로운 요소를 삽입하는 방법을 배웠습니다. 이 튜토리얼에서 본 것은 빙산의 일각에 불과하며,이 라이브러리가 제공하는 것이 훨씬 더 많습니다.

PyQuery이 라이브러리 사용에 대한 자세한 정보는 공식 문서를 읽는 것이 좋습니다.

.

위 내용은 Pyquery : Python ' s jQuery의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿