# Jupyter Notebook 주요 단축키
* Enter: 일반 모드에서 편집 모드로 전환
* ESC: 편집 모드에서 일반 모드로 전환

 

* ▶︎일반 모드 단축키
  * A: 선택된 셀 위에 새로운 셀 추가
  * B: 선택된 셀 아래에 새로운 셀 추가
  * X: 선택된 셀 잘라내기
  * C: 선택된 셀 복사
  * V: 선택된 셀 아래에 붙여넣기
  * D, D: 선택된 셀 삭제
  * Z: 셀 삭제 취소

* ▶︎편집 모드 단축키
  * Ctrl + Z: 되돌리기
  * Ctrl + Y: 되돌리기 취소
  * Ctrl + A: 셀 내용 전체 선택
  * Ctrl + Home: 셀 맨 위로 이동
  * Ctrl + End : 셀 맨 아래로 이동
  * Ctrl + D: 현재 줄 삭제
  * Tab: 자동 완성 기능 사용

 

1. 셀레니움

  • 셀레니움은 브라우저를 컨트롤 할 수 있도록 지원하는 라이브러리

 

# 셀레니움 설치

# window
!pip install selenium

# mac
!pip3 install selenium

 

# 크롬 드라이버 설치

# window
!pip install chromedriver_autoinstaller

# mac
!pip3 install chromedriver_autoinstaller
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome() #창 띄우기
driver.get('http://www.google.com') #구글이동
search = driver.find_element('name', 'q') # find_element: 태그에서 하나 찾기 :name에서 q만 찾기
search.send_keys('날씨') # 검색창에 날씨 입력
search.send_keys(Keys.RETURN) # 검색

 

 

2. 네이버 웹툰

네이버웹툰 베스트댓글과 전체댓글 크롤링하기

  • https://comic.naver.com/webtoon/detail?titleId=641253&no=471&week=fri
driver = webdriver.Chrome() #창 띄우기
driver.get('https://comic.naver.com/webtoon/detail?titleId=641253&no=471&week=fri') # 네이버 웹툰으로 이동
!pip3 install bs4

 

# 베스트 댓글 크롤링하기

from bs4 import BeautifulSoup
soup = BeautifulSoup(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)

 

 

# 전체댓글 크롤링하기

 

  • Xpath: 기존의 컴퓨터 파일 시스템에서 사용하는 경로 표현식과 유사한 경로 언어
  • Copy full Xpath
  • 크롤링을 원하는 위치를 클릭후 우클릭으로 개발자모드(F12/option+control+I) -> Copy -> Copy full Xpath로 경로복사
  • /html/body/div[1]/div[5]/div/div/div[5]/div[1]/div[3]/div/div/div[4]/div[1]/div/ul/li[2]/a/span[2]
driver.find_element('xpath','/html/body/div[1]/div[5]/div/div/div[5]/div[1]/div[3]/div/div/div[4]/div[1]/div/ul/li[2]/a/span[2]').click
soup = BeautifulSoup(driver.page_source)

commentall_area = soup.findAll('span', {'class':'u_cbox_contents'})
print(commentall_area)
print('********전체 댓글*****************')
for i in range(len(commentall_area)):
    comment = commentall_area[i].text.strip() # 텍스트만 뽑고 공백삭제
    print(comment)
    print('-' * 30)

'컴퓨터 비전 > 웹 서비스' 카테고리의 다른 글

FastAPI  (0) 2023.12.16
Streamlit  (2) 2023.12.03
픽사베이  (1) 2023.12.03
인스타그램  (1) 2023.12.03
크롤링(Crawling)  (0) 2023.12.02