크롤링_멜론차트 TOP100_셀레니움4
본문 바로가기
파이썬(Python)/크롤링 연습

크롤링_멜론차트 TOP100_셀레니움4

by 레아დ 2023. 10. 10.

와따마 진짜

나는 코랩을 사용한다

코랩에서 뭐든지 해결하고 싶다 ㅋㅋㅋㅋㅋㅋ
크롤링하는데 웹드라이버... 하
아무리 뒤져서 해봐도 안되길래 포기하고 있었음
여러 무료 강의에서 크롬드라이버 강좌 중 최신 버전들을 찾아 해도 안되었음
(대부분 강의는 코랩이 아님...... ㅜㅜㅜ)
그러나 갑자기 이게 생각나서 한번 다시 해보자고 시도해보았다
결론은!!!!!!

성공!!!!!!!!!!!!!!!!!! 대 성공 !!!!!!!!!!!!!!

[참고 블로그]
https://youngkdevlog.tistory.com/57

Python Selenium Webdriver Chrome Option 관련 오류

ChromeDriver를 활용해 크롤링을 구현해놨는데 오늘 처음보는 에러가 나왔다. 내용을 읽어보니 chrome_options 라는 argument 가 안맞는 듯 해 혹시하고 Selenium 공식 사이트를 확인해 보았다. get_upcoming_items

youngkdevlog.tistory.com

 
[참고 위키독스]
https://wikidocs.net/177133#element-finder

01. selenium 4

[TOC] ## 셀레니움 설치 ```{.python} pip install selenium # pip install selenium-wire # 특정 버전 설치 pip insta…

wikidocs.net

 
도움 주신 분들 너무나 감사함다

🌈 전체 코드

 
 
코랩에서 시작 부분만 블로그 올리고
나머지 전체 코드는 깃허브 주소 참고!!! 하면 될 것 같다.

# 코랩을 시작할 때 아래코드를 한 번 돌려줍니다.
!pip install selenium
!apt-get update
!apt install chromium-chromedriver
!cp /usr/lib/chromium-browser/chromedriver/usr/bin

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service

# 당연하 설치되어 있다고 생각하지 말자 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

!pip install webdriver_manager

!pip install chromedriver_autoinstaller


from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.chrome.options import Options as ChromeOptions
# 크롬 드라이버 자동 업데이트
from webdriver_manager.chrome import ChromeDriverManager
import time
import chromedriver_autoinstaller

options = ChromeOptions()
user_agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
options.add_argument('user-agent=' + user_agent)
options.add_argument("lang=ko_KR")
options.add_argument('headless')
options.add_argument('window-size=1920x1080')
options.add_argument("disable-gpu")
options.add_argument("--no-sandbox")

# chrome driver
# 크롬 드라이버 최신 버전 설정
# service = ChromeService(executable_path=ChromeDriverManager().install())
# driver = webdriver.Chrome(service=service, options=options) # <- options로 변경

# 기존버전이 최신일 경우
driver = webdriver.Chrome(options=options) # <- options로 변경

# 웹페이지가 로딩될때까지 5초 기다림
driver.implicitly_wait(5)
# 화면 최대화
driver.maximize_window()

이렇게 하고
멜론차트 ㅋㅋㅋ 크롤링 시작함

import requests
from bs4 import BeautifulSoup
import pandas as pd
import numpy as np

url = 'https://www.melon.com/chart/'
driver.get(url)
driver.page_source
html_str = driver.page_source

soup = BeautifulSoup(html_str)
# soup

lists = soup.select("#frm > div > table > tbody>tr")
# len(soup.select('tbody>tr'))
len(lists)
728x90