Python, Selenium에서 웹 브라우저 작업
개요
브라우저를 시작 → Qiita의 톱 페이지로 이동 → 검색 상자에 키워드를 입력 → 검색까지 일련의 작업을 Python, Selenium을 사용하여 실행하는 코드를 썼습니다.
이 코드를 발전시키면 브라우저 시작 → 로그인 자동화 → 필터 조건 설정 → 데이터 다운로드 등 일련의 작업을 자동화할 수 있습니다.
<환경>
OS: Windows
코드 편집기: Visual Studio 코드
파이썬 : 3.9.2
준비
파이썬 설치
아래에서 OS에 있던 파이썬을 설치합니다.
htps //w w. py 응. 오 rg / 도 w 응 아 ds /
VS code의 Terminal에 다음을 입력하여 설치를 확인한다.
py -m pip install selenium
py -V #バージョン確認
selenium 설치
VS 코드의 Terminal에 다음을 입력하여 설치합니다.
py -m pip install selenium #pipでインストール
브라우저 드라이버 다운로드
Google 크롬의 경우
Google 크롬 버전을 확인합니다. (오른쪽 상단 아이콘 → 도움말 → Google 크롬 정보)
아래에서 확인한 Chrome 버전에 있던 Chrome 드라이버를 선택하세요.
OS에 있던 zip 파일을 다운로드해, 해동한다.
htps // ch 로메 d리ゔぇr. ch 로미우 m. 오 rg / w w ぉ ds
Microsoft Edge(New Edge)의 경우
Google 크롬과 동일하므로 이미지는 생략.
Microsoft Edge 버전을 확인합니다. (오른쪽 상단 아이콘 → 도움말 및 피드백 → Microsoft Edge 정보)
아래에서 확인한 Edge 버전에 있던 WebDriver를 선택.
htps : //에서 ゔぇぺぺr. 미 c 로소 ft. 코 m / 쟈 jp / 미 c로소 ft 에 드게 / 와 ls / ぇ bd ゔ ぇ r /
OS에 있던 zip 파일을 다운로드해, 해동한다.
코드
F12에서 Qiita의 검색 박스의 HTML을 확인하면, class명이 st-RenewalHeader_searchInput인 것을 알 수 있다. qiita.py라는 파일을 작성해, 이하의 코드를 기입.
qiita.py# coding:utf-8
from selenium import webdriver
# Google Chromeを立ち上げ、Qiitaのトップページを開く。
driver = webdriver.Chrome(executable_path='chromedriver.exeのパス')
driver.get('https://qiita.com/')
# Microsoft Edgeを立ち上げ、Qiitaのトップページを開く。
driver = webdriver.Edge(executable_path='msedgedriver.exeのパス')
driver.get('https://qiita.com/')
# 検索ボックスを取得し、キーワードを入力後、検索
keyword_txb = driver.find_element_by_class_name('st-RenewalHeader_searchInput')
keyword_txb.send_keys('python selenium')
keyword_txb.submit()
코드를 실행하면 브라우저가 시작되고 검색 상자에 키워드 (python selenium)가 입력되어 결과가 표시됩니다.
집어넣은 점
파이썬 설치
아래에서 OS에 있던 파이썬을 설치합니다.
htps //w w. py 응. 오 rg / 도 w 응 아 ds /
VS code의 Terminal에 다음을 입력하여 설치를 확인한다.
py -m pip install selenium
py -V #バージョン確認
selenium 설치
VS 코드의 Terminal에 다음을 입력하여 설치합니다.
py -m pip install selenium #pipでインストール
브라우저 드라이버 다운로드
Google 크롬의 경우
Google 크롬 버전을 확인합니다. (오른쪽 상단 아이콘 → 도움말 → Google 크롬 정보)
아래에서 확인한 Chrome 버전에 있던 Chrome 드라이버를 선택하세요.
OS에 있던 zip 파일을 다운로드해, 해동한다.
htps // ch 로메 d리ゔぇr. ch 로미우 m. 오 rg / w w ぉ ds
Microsoft Edge(New Edge)의 경우
Google 크롬과 동일하므로 이미지는 생략.
Microsoft Edge 버전을 확인합니다. (오른쪽 상단 아이콘 → 도움말 및 피드백 → Microsoft Edge 정보)
아래에서 확인한 Edge 버전에 있던 WebDriver를 선택.
htps : //에서 ゔぇぺぺr. 미 c 로소 ft. 코 m / 쟈 jp / 미 c로소 ft 에 드게 / 와 ls / ぇ bd ゔ ぇ r /
OS에 있던 zip 파일을 다운로드해, 해동한다.
코드
F12에서 Qiita의 검색 박스의 HTML을 확인하면, class명이 st-RenewalHeader_searchInput인 것을 알 수 있다. qiita.py라는 파일을 작성해, 이하의 코드를 기입.
qiita.py# coding:utf-8
from selenium import webdriver
# Google Chromeを立ち上げ、Qiitaのトップページを開く。
driver = webdriver.Chrome(executable_path='chromedriver.exeのパス')
driver.get('https://qiita.com/')
# Microsoft Edgeを立ち上げ、Qiitaのトップページを開く。
driver = webdriver.Edge(executable_path='msedgedriver.exeのパス')
driver.get('https://qiita.com/')
# 検索ボックスを取得し、キーワードを入力後、検索
keyword_txb = driver.find_element_by_class_name('st-RenewalHeader_searchInput')
keyword_txb.send_keys('python selenium')
keyword_txb.submit()
코드를 실행하면 브라우저가 시작되고 검색 상자에 키워드 (python selenium)가 입력되어 결과가 표시됩니다.
집어넣은 점
# coding:utf-8
from selenium import webdriver
# Google Chromeを立ち上げ、Qiitaのトップページを開く。
driver = webdriver.Chrome(executable_path='chromedriver.exeのパス')
driver.get('https://qiita.com/')
# Microsoft Edgeを立ち上げ、Qiitaのトップページを開く。
driver = webdriver.Edge(executable_path='msedgedriver.exeのパス')
driver.get('https://qiita.com/')
# 検索ボックスを取得し、キーワードを入力後、検索
keyword_txb = driver.find_element_by_class_name('st-RenewalHeader_searchInput')
keyword_txb.send_keys('python selenium')
keyword_txb.submit()
python -V #バージョンが表示されない。Python→pyで正しく表示。
Python
pip install selenium #エラーになる。py -mが必要
브라우저 버전과 다른 버전의 드라이버를 다운로드한 결과, 기동한 순간 브라우저가 닫히고 VS code의 터미널에 버전이 다르다는 에러 메시지가 표시된다.
마지막으로
크롤링, 스크래핑을 할 경우 저작권, 서버측 부하, 이용 약관에 주의가 필요. 스크래핑으로 다운로드한 데이터를 제3자에게 제공한 경우에는 저작권법 위법이 될 가능성이 있다. 또한, 다음 서비스는 이용 약관에 따라 스크래핑이 금지됩니다.
- 트위터
- Instagram
- 아마존
- J-PlatPat 특허 정보 플랫폼
Reference
이 문제에 관하여(Python, Selenium에서 웹 브라우저 작업), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/KisaragiMiku/items/09a2c2c01090dd3e3ab5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Python, Selenium에서 웹 브라우저 작업), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/KisaragiMiku/items/09a2c2c01090dd3e3ab5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)