크롤링
(2) 셀레니움
빠스무
2023. 7. 9. 16:44
728x90
1. 셀레니움(Selenium)
- 셀레니움은 브라우저를 컨트롤 할 수 있도록 지원하는 라이브러리
# 셀레니움을 쓰기 위해 다운을 받아준다
!pip install selenium
크롬브라우저를 사용하기위해 다운로드
!pip install chromedriver_autoinstaller
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup as bs
driver = webdriver.Chrome()
search = driver.find_element('name','q')
search.send_keys('날씨')
search.send_keys(Keys.RETURN)
2. 네이버웹툰
내일 - 297화 남아주세요 (마무리)
297화 남아주세요 (마무리)
comic.naver.com
driver = webdriver.Chrome()
soup = bs(driver.page_source)
comment_area = soup.findAll('span',{'class','u_cbox_contents'})
print('************************************** 베스트 댓글***********************************************')
for i in range(len(comment_area)):
comment = comment_area[i].text.strip()
print(comment)
print('-' * 30)
- XPath: 기존의 컴퓨터 파일 시스템에서 사용하는 경로 표현식과 유사한 XML의 경로 언어
/html/body/div[1]/div[5]/div/div/div[4]/div[1]/div[3]/div/div/div[8]/a/span[1]`
# 전체더보기 버튼 클릭하기
driver.find_element('xpath','/html/body/div[1]/div[5]/div/div/div[4]/div[1]/div[3]/div/div/div[8]/a/span[1]').click()
soup = bs(driver.page_source)
comment_area = soup.findAll('span',{'class','u_cbox_contents'})
print(comment_area)
print('************************************** 전체 댓글***********************************************')
for i in range(len(comment_area)):
comment = comment_area[i].text.strip()
print(comment)
print('-' * 30)