Python, Selenium에서 웹 브라우저 작업

5225 단어 파이썬셀레늄

개요



브라우저를 시작 → 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)가 입력되어 결과가 표시됩니다.

집어넣은 점


  • 파이썬 버전 확인
  • python -V #バージョンが表示されない。Python→pyで正しく表示。
    Python
    
  • selenium 설치
  • pip install selenium #エラーになる。py -mが必要
    
  • 브라우저 버전과 드라이버 버전이 다릅니다

  • 브라우저 버전과 다른 버전의 드라이버를 다운로드한 결과, 기동한 순간 브라우저가 닫히고 VS code의 터미널에 버전이 다르다는 에러 메시지가 표시된다.

    마지막으로



    크롤링, 스크래핑을 할 경우 저작권, 서버측 부하, 이용 약관에 주의가 필요. 스크래핑으로 다운로드한 데이터를 제3자에게 제공한 경우에는 저작권법 위법이 될 가능성이 있다. 또한, 다음 서비스는 이용 약관에 따라 스크래핑이 금지됩니다.
    - 트위터
    - Instagram
    - 아마존
    - J-PlatPat 특허 정보 플랫폼

    좋은 웹페이지 즐겨찾기