【Selenium】 첫 스크래핑
9416 단어 파이썬셀레늄selenium-webdriver
스크래핑에 관한 주의사항
주의 사항은, 이하를 참고로 했습니다.
미리 읽어 둡시다!
웹 스크래핑 주의사항 목록 - Qiita
웹 스크래핑 법률 주위의 이야기를 하자! - Qiita
Selenium의 전체 이미지
아래를 참고로 살펴 보겠습니다.
[Selenium] -> [ChromeDriver] -> [Google Chrome]
Components of a Grid :: Documentation for Selenium 보다 인용
환경 구축
가상 환경
virtualenv
설치
pip install selenium
크롬 버전 확인
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --version
바이너리 형식으로 다운로드
Downloads - ChromeDriver - WebDriver for Chrome
어디에서 사용하는지
아래와 같은 형태로 사용하게 됩니다.
driver = Chrome('path', options=options)
driver.get('url')
명령줄에서만 웹 브라우저 버전 확인 - Qiita
그럼 실장이다!
스크래핑할 때 생각
사전에 다음 두 가지를 파악해 둡니다.
크롤러 만드는 법 - Basic 편 - Qiita
상세
import csv
import pandas as pd
from selenium.webdriver import Chrome, ChromeOptions
from selenium.webdriver.common.by import By
options = ChromeOptions()
options.add_argument('--headless')
print('Connectiong to Remote Browser...')
driver = Chrome('chromedriverがあるパス', options=options)
# 検索結果
driver.get('対象のurl')
# 一覧ページ取得
detail_links = driver.find_elements(By.XPATH,'//div[@class="productImg-wrap"]')
print(len(detail_links))
# 詳細ページリスト化
detail_results = []
for element in detail_links:
aTag = element.find_element_by_tag_name("a")
url = aTag.get_attribute("href")
detail_results.append(url)
# 空のDataFrameを用意
cols = ['brand_name', 'url']
df = pd.DataFrame(index=[], columns=cols)
# 結果をリスト化
final_results = []
for url in detail_results:
driver.get(url)
article_links = driver.find_elements(By.XPATH,'//div[@class="attributes-list"]')
print(article_links)
# データフレームを作成
record = pd.Series([article_links[0].text, url], index=df.columns)
df = df.append(record, ignore_index=True)
df.to_csv("output.csv")
# ブラウザを終了
driver.quit()
driver.find_elements(By.XPATH,'//div[@class="attributes-list"]')
이것이, 클래스명으로, 요소를 취득하는 구현이 됩니다.파이썬에서 Selenium을 사용하여 스크래핑 (기초) - Qiita
Selenium API (역방향)
2. Getting Started — Selenium Python Bindings 2 documentation
체인
다른 구현은 아래에서 확인할 수 있습니다.
7. WebDriver API — Selenium Python Bindings 2 documentation
기타 참고 기사
Python + Selenium에서 Chrome의 자동 조작을 한 대로 - Qiita
Chrome과 Python의 chromedriver-binary 버전을 맞추고 싶습니다. - Qiita
다음은?
E2E 테스트에서 사용할 수 있도록 해 가고 싶네요.
Reference
이 문제에 관하여(【Selenium】 첫 스크래핑), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/wqwq/items/37a6fff795c8a5843457텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)