설치/설정 가이드가 포함된 Python의 셀레늄 스크래핑
이러한 모든 작업은 헤드리스 브라우저를 사용하여 수행됩니다. 헤드리스 브라우저는 HTTP 요청을 만들고 세션 정보를 유지할 수 있는 눈에 보이는 GUI가 없는 브라우저에 지나지 않습니다.
웹 사이트에서 기본 작업을 수행하고 일부 정보를 가져오는 데 중점을 둡니다.
전제 조건
첫 번째 설치는 플랫폼에 관계없이 시작하는 데 세 가지가 필요합니다.
셀렌
pip install selenium
를 사용하여 셀레늄 설치헤드리스 브라우저
이 튜토리얼에서는 크롬의 chromedriver를 사용할 것입니다. 또는 geckodriver라는 파이어폭스 헤드리스 브라우저를 사용할 수 있습니다.
this link에서 Chromedriver를 설치합니다.
this link에서 Geckodriver를 설치합니다.
GUI가 있는 웹 브라우저
다음 명령어를 사용하여 Chrome을 설치합니다.
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt install ./google-chrome-stable_current_amd64.deb
Firefox가 대부분의 Linux 배포판에 설치되어 있다고 가정합니다. 그렇지 않은 경우 this link을 사용할 수 있습니다.
이제 시간을 낭비하지 않고 첫 번째 데모를 만들어 보겠습니다.
필수 패키지.
import selenium
from selenium import webdriver
from selenium.webdriver import chrome
from selenium.webdriver.chrome.service import Service
이제 다음을 사용하여 웹 사이트를 열겠습니다.
s = Service("chromedriver.exe")
driver = webdriver.Chrome(service=s)
driver.get("https://rugsforyou.in/")
Service 클래스는 실행 파일 경로를 요구합니다. Python 파일과 같은 폴더에 chromedriver.exe가 있습니다.
Firefox를 선호하는 경우 geckodriver.exe를 사용할 수도 있습니다.
webdriver.Chrome은 크롬 드라이버의 새 인스턴스를 생성합니다.
webdriver 정보 - webdriver는 명령을 수락하고 결과를 반환하기 위해 브라우저로 보내는 Selenium의 구성 요소입니다. Webdriver.Chrome은 서비스 클래스에 대한 참조를 사용하여 제공하는 chromedriver용 실행 파일을 요구합니다.
.get() 메서드는 현재 브라우저 세션에서 웹 페이지를 로드하는 방법입니다. 간단히 말해서 제공된 URL에 대한 HTTP 요청을 생성합니다.
이제 셀레늄을 사용하여 간단한 자동화를 만들어 보겠습니다. 그러면 이 멋진 전자 상거래 사이트가 열리고 검색 표시줄에 값을 입력한 다음 결과가 표시됩니다.
이를 위해 다른 클래스 By를 가져와야 합니다.
from selenium.webdriver.common.by import By
# in continuation to the above code
send_data = driver.find_element(By.CLASS_NAME, value="ms-search-field")
send_data.send_keys("flower")
send_data.submit()
한 줄씩 진행하면서 검색 필드의 클래스인 클래스 이름 "ms-search-field"에 대한 액세스를 제공하는 기능과 같은 돔을 사용하고 있습니다.
By를 사용하면 CLASS_NAME 또는 ID와 같은 로케이터를 정의할 수 있습니다.
.send_keys("value")는 "ms-search-field"가 입력 필드인 경우 입력 필드에 입력할 수 있는 값을 보유합니다.
.submit()은 양식을 제출합니다.
그렇게 하면 크롬의 새 창이 열리고 지정된 웹사이트가 열리고 검색 필드에 "꽃"을 입력하고 결과가 표시됩니다.
결과 웹 사이트 URL에 액세스하려면 .current_url 객체를 사용할 수 있습니다. 예를 들어 -
print(driver.current_url)
헤드리스 브라우저 사용
헤드리스 상태에서 이 프로그램을 실행하려면 다음 명령을 추가하기만 하면 됩니다.
from selenium.webdriver.chrome.options import Options
# continuation to above code
opts = Options()
opts.headless = True
# change the arguments of Chrome class
driver = webdriver.Chrome(options=opts, service=s)
이렇게 하면 크롬 브라우저가 열리지 않지만 여전히 데이터를 로드하고 결과를 터미널에 인쇄합니다.
다시 GUI로 되돌리려면 Chrome()에서 제거
options=opts
하십시오.이제 이 시점에서 왜 그렇게 많은 패키지를 가져왔는지 궁금하실 것입니다. 요약하자면.
Reference
이 문제에 관하여(설치/설정 가이드가 포함된 Python의 셀레늄 스크래핑), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rahulkumarmalhotra/selenium-scraping-in-python-with-installationsetup-guide-3n3o텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)