Semalt Expert : Python과 BeautifulSoup. 쉽게 긁어 사이트

데이터 분석 또는 기계 학습 프로젝트를 수행 할 때 필요한 데이터를 확보하고 프로젝트를 완료하기 위해 웹 사이트를 긁어 야 할 수도 있습니다. Python 프로그래밍 언어에는 이러한 목적으로 사용할 수있는 강력한 도구 및 모듈 모음이 있습니다. 예를 들어 HTML 구문 분석에 BeautifulSoup 모듈을 사용할 수 있습니다.
여기에서는 BeautifulSoup을 살펴보고 왜 웹 스크래핑에 널리 사용되는지 알아 봅니다.
BeautifulSoup 기능
-구문 분석 트리를 쉽게 탐색, 검색 및 수정하기위한 다양한 방법을 제공하므로 너무 많은 코드를 작성하지 않고도 문서를 쉽게 분석하고 필요한 모든 것을 추출 할 수 있습니다.
-나가는 문서를 UTF-8로, 들어오는 문서를 유니 코드로 자동 변환합니다. 즉, 문서에 인코딩을 지정했거나 Beautiful Soup이 자동 감지 할 수있는 경우 인코딩에 대해 걱정할 필요가 없습니다.
-BeautifulSoup은 html5lib 및 lxml과 같은 다른 인기있는 Python 파서보다 우수하다고 간주됩니다. 다른 구문 분석 전략을 시도 할 수 있습니다. 그러나이 모듈의 한 가지 단점은 속도를 희생하면서 더 많은 유연성을 제공한다는 것입니다.
BeautifulSoup으로 웹 사이트를 긁어 내려면 무엇이 필요합니까?
BeautifulSoup으로 작업을 시작하려면 머신에 Python 프로그래밍 환경 (로컬 또는 서버 기반)을 설정해야합니다. Python은 일반적으로 OS X에 사전 설치되어 있지만 Windows를 사용하는 경우 공식 웹 사이트에서 언어를 다운로드하여 설치해야합니다.

BeautifulSoup 및 Requests 모듈이 설치되어 있어야합니다.
마지막으로, 웹 태그가 지정된 데이터로 작업하므로 HTML 태그 및 구조에 익숙하고 편안하게 작업하는 것이 매우 유용합니다.
요청 및 BeautifulSoup 라이브러리 가져 오기
Python 프로그래밍 환경이 제대로 설정되면 원하는 이름으로 nano를 사용하여 새 파일을 만들 수 있습니다.
요청 라이브러리를 사용하면 Python 프로그램 내에서 사람이 읽을 수있는 양식 HTTP를 사용할 수 있으며 BeautifulSoup은 더 빠른 속도로 스크래핑을 수행합니다. import 문을 사용하여 두 라이브러리를 모두 얻을 수 있습니다.
웹 페이지를 수집하고 구문 분석하는 방법
requests.get () 메소드를 사용하여 데이터를 추출 할 웹 페이지의 URL을 수집하십시오. 그런 다음 BeautifulSoup 객체 또는 구문 분석 트리를 만듭니다. 이 객체는 요청에서 문서를 인수로 가져 와서 구문 분석합니다. 페이지를 수집하고 구문 분석하고 BeautifulSoup 오브젝트로 설정 한 후 필요한 데이터 수집을 진행할 수 있습니다.
파싱 된 웹 페이지에서 원하는 텍스트 추출
웹 데이터를 수집 할 때마다 웹 페이지의 DOM (Document Object Model)에서 해당 데이터를 설명하는 방법을 알아야합니다. 웹 브라우저에서 관심있는 데이터의 일부를 구성하는 항목 중 하나를 마우스 오른쪽 단추로 클릭 (Windows를 사용하는 경우)하거나 CTRL + 클릭 (macOS를 사용하는 경우)하십시오. 예를 들어, 학생의 국적에 대한 데이터를 가져 오려면 학생 이름 중 하나를 클릭하십시오. 상황에 맞는 메뉴가 나타나고 그 안에 요소 검사 (Firefox) 또는 검사 (Chrome)와 유사한 메뉴 항목이 표시됩니다. 관련 검사 메뉴 항목을 클릭하면 웹 개발자 도구가 브라우저에 나타납니다.
BeautifulSoup은 간단하지만 강력한 HTML 구문 분석 도구로 웹 사이트를 스크랩 할 때 많은 유연성을 제공 합니다. 웹 사이트 이용 약관 확인과 같은 일반적인 스크래핑 규칙을 준수하는 것을 잊지 마십시오. 사이트를 정기적으로 다시 방문하고 사이트의 변경 사항에 따라 코드를 업데이트합니다. Python 및 BeautifulSoup을 사용하여 웹 사이트를 스크랩하는 것에 대한 지식이 있으면 이제 프로젝트에 필요한 웹 데이터를 쉽게 얻을 수 있습니다.