<p>
Python에서 JavaScript로 생성된 동적 콘텐츠 스크래핑
<p>웹페이지를 스크래핑할 때 JavaScript로 생성된 동적 콘텐츠가 있으면 문제가 발생할 수 있습니다. 페이지의 소스 코드에 숨겨져 있는 경우가 많은 이 콘텐츠는 정적 HTML 구문 분석에 의존하는 기존 방식에 장애물이 됩니다.
<p>이러한 한계를 극복하기 위해 다음과 같은 몇 가지 접근 방식을 사용할 수 있습니다.
-
<p>PhantomJS가 포함된 Selenium:
- 설치 PhantomJS를 실행하고 해당 바이너리를 경로에 추가합니다.
- Selenium Python 라이브러리를 사용하여 웹 페이지를 실행하고 동적 콘텐츠를 캡처하는 헤드리스 브라우저인 PhantomJS를 제어합니다.
- ID 또는 기타 CSS로 요소를 찾습니다. 선택기를 사용하여 텍스트 또는 기타 항목을 추출합니다. 속성.
-
<p>dryscrape:
- dryscrape Python 라이브러리를 설치합니다.
- dryscrape 세션 생성 타겟 URL을 방문하세요.
- 액세스 페이지 본문을 문자열로 변환하고 BeautifulSoup을 사용하여 구문 분석합니다.
- 파싱된 HTML 문서를 기반으로 콘텐츠를 추출합니다.
<p>
예:
<p>다음과 같은 웹페이지를 생각해 보세요. HTML:
<p>
JavaScript 지원 제외:
import requests
from bs4 import BeautifulSoup
response = requests.get(my_url)
soup = BeautifulSoup(response.text)
soup.find(id="intro-text")
# Output: <p>
로그인 후 복사
<p>
JavaScript 지원 포함(Selenium):
from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get(my_url)
p_element = driver.find_element_by_id(id_='intro-text')
print(p_element.text)
# Output: Yay! Supports javascript
로그인 후 복사
<p>
JavaScript 지원 포함 (dryscrape):
import dryscrape
from bs4 import BeautifulSoup
session = dryscrape.Session()
session.visit(my_url)
response = session.body()
soup = BeautifulSoup(response)
soup.find(id="intro-text")
# Output: <p>
로그인 후 복사
<p>이러한 기술을 활용하면 JavaScript로 생성된 동적 콘텐츠를 효과적으로 스크랩하고 웹 페이지에서 제공되는 전체 정보에 액세스할 수 있습니다.
위 내용은 Python을 사용하여 JavaScript로 생성된 동적 웹 콘텐츠를 어떻게 스크랩할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!