데이터 크롤링

2023. 7. 15. 09:38·Data Science
  • BeautifulSoup: python으로 html을 다루는 라이브러리
  • request: 페이지 요청 라이브러리
# 1. 스크래핑 페이지 지정
# 2. 페이지 요청
# 3. text를 html 형태로 변환
# 4. 태그값으로 원하는 데이터 추출
link = 'https://search.naver.com'
url = requests.get(link)
BeautifulSoup(url.text)
html.find('span', attrs = {'class': 'value'})

 

# 1. 웹 브라우저 창 열기
# 2. 지정한 페이지 불러오기
# 3. 창이 열릴 때까지 10초 대기
# 4. html 형태로 변환
# 5. 원하는 태그 값 가져오기
# 6. 웹 브라우저 창 닫기
driver = webdriver.Chrome(service=service, options=options)
driver.get('https://search.naver.com')
driver.implicitly_wait(10)
html = BeautifulSoup(driver.page_source)
html.find('table', class_ = 'type_2')
driver.close()
  • 같은 페이지 내에서 행동을 해도 url 변하지 않는 경우 동적 크롤링 Selenium 사용하는 것이 바람직함
# 라이브러리
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By

# 웹 페이지
driver = webdriver.Chrome(service=service, options=options)
driver.get('https://www.naver.com')
driver.implicitly_wait(10)
time.sleep(1)

# 검색어 입력 후 엔터
a = driver.find_element(By.ID, 'query')  # 검색어 창
a.send_keys('검색어')                      # 검색어 입력
time.sleep(1)                            # 시간
a.send_keys(Keys.RETURN)                 # 엔터

# 버튼 클릭
driver.find_element(By.CLASS_NAME, 'popupCloseBtn.is-bottomBtn').click()

# find_element: 태그에 해당하는 값 가져오기
# find_elements: 태그에 해당하는 값 모두 가져오기
driver.find_elements(By.CLASS_NAME, 'bbsItem')

 

 

'Data Science' 카테고리의 다른 글

빈도분석  (0) 2023.07.22
Google Colab에서 Selenium 사용하기  (0) 2023.07.15
데이터 시각화  (0) 2023.07.08
데이터 분석 기초  (0) 2023.07.01
통계학 기초  (0) 2023.06.28
'Data Science' 카테고리의 다른 글
  • 빈도분석
  • Google Colab에서 Selenium 사용하기
  • 데이터 시각화
  • 데이터 분석 기초
봄프로
봄프로
Data Scientist
  • 봄프로
    To be professional
    봄프로
    • 분류 전체보기 (59)
      • LLM (16)
      • Data Science (24)
      • ADP (8)
      • Domain (8)
      • Etc (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 인기 글

  • 태그

    YOLO
    오블완
    티스토리챌린지
    KBI
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
봄프로
데이터 크롤링
상단으로

티스토리툴바