웹 스크래핑 : 웹 페이지에서 데이터를 효율적으로 추출합니다
이 자습서는 웹 페이지 컨텐츠가 렌더링되는 방법과 파이썬, 요청, 아름다운 수프 및 셀레늄을 사용하여 긁는 방법을 설명합니다. 우리는 동적 컨텐츠, 특히 의견을 폐기하는 데 중점을 둡니다
웹 스크랩이 언제 필요한가?
웹 스크래핑은 웹 페이지에서 정보를 자동으로 검색, 구문 분석 및 추출합니다. API를 사용할 수없는 경우 최후의 수단입니다. 이러한 단점을 고려하십시오 :
취약성 : 웹 페이지가 자주 바뀌어 스크레이퍼를 깨뜨립니다
제한 :
많은 웹 사이트가 스크래핑을 금지합니다
성능 :
대량의 데이터를 긁어내는 것은 느리고 비쌀 수 있습니다.
현대 웹 페이지 이해
일반적인 웹 애플리케이션의 구조를 살펴 보겠습니다. 우리는 "Vagrant 소개"기사를 예로 사용합니다. 컨텐츠를 긁으려면 먼저 관련 HTML 요소를 찾아야합니다.
보기 페이지 소스
브라우저를 사용하면 HTML 소스를 볼 수 있습니다. "Vagrant 소개"소스는 기사 내용 자체와 관련이없는 조정 된 JavaScript의 상당 부분을 보여줍니다. 작은 발췌문은 다음과 같습니다
여기 실제 html의 샘플이 있습니다 :
정적 vs. 동적 스크래핑
정적 스크래핑
는 JavaScript를 무시하고 원시 서버 측 HTML을 가져옵니다. 대상 컨텐츠가 소스에 직접 있으면 작동합니다. 그러나 JavaScript (Dynamic Content)에 의해 생성 된 컨텐츠의 경우이 메소드가 실패합니다. Dynamic Scraping
는 셀레늄과 같은 도구를 사용하여 브라우저와 같이 페이지와 상호 작용하여 JavaScript를 렌더링하고 동적 컨텐츠를 사용할 수있게합니다.
Selenium 로 동적 댓글을 긁어냅니다
웹 사이트에서 댓글을 긁어 봅시다 (예 : Codecanyon 댓글). 셀레늄을 사용하여 주석 URL을 탐색합니다 :
주석 요소를 찾으려면 페이지를 검사해야합니다 (오른쪽 클릭, "검사"). 셀레늄의 는 비동기 적재를 처리하는 데 도움이됩니다
결론
웹 스크래핑은 API를 통해 필요한 데이터를 쉽게 사용할 수없는 경우 가치가 있습니다. 최신 웹 애플리케이션에 도전하는 동안 요청, 아름다운 수프 및 셀레늄과 같은 도구는 프로세스를 단순화합니다.
이 튜토리얼은 Envato Tuts의 소프트웨어 개발자이자 작가 인 Esther Vaati의 공헌을 통합합니다.
위 내용은 아름다운 수프와 셀레늄으로 현대적인 웹 스크래핑의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!