Python을 사용하여 동적 HTML 콘텐츠에서 값을 검색하는 방법
콘텐츠를 동적으로 로드하는 웹 사이트에서 데이터를 검색하려고 할 때 다음을 사용하는 기존 방법을 사용합니다. Python의 요청 또는 BeautifulSoup 라이브러리가 실패할 수 있습니다. 이는 이러한 라이브러리가 데이터를 생성하는 JavaScript 코드를 해석하지 않기 때문입니다.
문제 이해
제공된 예에서 문제의 페이지는 핸들바 템플릿을 사용하여 다음을 수행합니다. 동적 콘텐츠를 만듭니다. 브라우저의 개발자 도구를 사용하여 HTML 소스를 검사할 때 실제 값 대신 "{{formatPrice median}}"과 같은 템플릿 자리 표시자를 찾을 수 있습니다.
솔루션
동적으로 생성된 콘텐츠에서 실제 값을 검색하려면 JavaScript를 해석하는 기술을 사용해야 합니다. 다음 옵션을 고려하십시오.
Selenium을 BeautifulSoup과 함께 사용
예제 페이지의 경우( eve-central.com), Selenium을 사용하여 "중앙값" 값 검색:
<code class="python">from bs4 import BeautifulSoup from selenium import webdriver driver = webdriver.Firefox() driver.get('http://eve-central.com/home/quicklook.html?typeid=34') html = driver.page_source soup = BeautifulSoup(html) for tag in soup.find_all('span', class_="a-price-amount"): print(tag.text)</code>
이 코드는 Selenium을 사용하여 페이지를 로드하고 BeautifulSoup을 사용하여 렌더링된 HTML을 구문 분석하고 특정 클래스 ID가 있는 태그를 추출하며 원하는 "중앙값" 값이 포함된 텍스트 내용을 인쇄합니다.
위 내용은 Python은 어떻게 동적으로 생성된 HTML 콘텐츠에서 값을 검색할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!