티스토리 뷰
728x90
반응형
이번에는 Selenium으로 네이버 검색 결과를 가져오는 걸 해보려고 해요!
시나리오는 아래와 같아요!
1. 네이버 메인 페이지에 접속한다.
2. 검색창에 "돔돔이블로그"라고 입력한다.
3. 검색 버튼을 누른다.
4. 검색 결과 중 최상위 검색 결과의 링크주소만 가져온다.
1. 네이버 메인 페이지에 접속한다.
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('http://naver.com')
2. 검색창에 "돔돔이블로그"라고 입력한다.
elem = browser.find_element_by_id('query')
elem.send_keys('돔돔이블로그')
3. 검색 버튼을 누른다.
elem = browser.find_element_by_class_name('btn_submit')
elem.click()
4. 검색 결과 중 최상위 검색 결과의 링크주소만 가져온다.
elem = browser.find_elements_by_css_selector('section.sp_ntotal a.link_tit')
for e in elem:
linkText = e.get_property('textContent')
linkUrl = e.get_attribute('href')
print(f'제목 : {linkText}')
print(f'링크 : {linkUrl}')
위 코드의 실행 결과는 아래와 같아요!
제목 : 돔돔이블로그 | DomDom's Blog
링크 : https://domdom.tistory.com/
제목 : 돔돔이의 하루
링크 : https://blog.naver.com/kkww523
제목 : 돔돔이블로그 | DomDom's Blog (31 Page)
링크 : https://domdom.tistory.com/?page=31
제목 : [가평] 남이섬 다녀온 후기! - 돔돔이블로그
링크 : https://domdom.tistory.com/56
제목 : 2018년 육아수당! 돔돔이 알려드립니다~
링크 : https://blog.naver.com/mydomdom/221254980508
정확히 아래 부분을 가져온 것이죠.
짠, 이렇게 위에서 말한 네이버 검색 결과 링크 가져오기 시나리오를 수행해보았어요!
지금까지 사용한 Selenium 문법만 정리해보자면 아래와 같아요!
from selenium import webdriver
browser = webdriver.Chrome() # 현재파일과 동일한 경로일 경우 생략 가능
browser.get('http://naver.com') # 네이버 사이트로 이동한다.
elem = browser.find_element_by_id('query') # 검색어 입력창을 가져온다.
elem.send_keys('돔돔이블로그') # 검색어 입력창에 '돔돔이블로그'라고 입력한다.
elem = browser.find_element_by_class_name('btn_submit') # 검색 버튼을 가져온다.
elem.click() # 검색 버튼을 클릭한다.
# CSS Selector 로 section.sp_ntotal a.link_tit에 해당하는 요소를 list형태로 가져온다.
elem = browser.find_elements_by_css_selector('section.sp_ntotal a.link_tit')
for e in elem:
linkText = e.get_property('textContent') # 한 요소의 text 전체를 가져온다.
linkUrl = e.get_attribute('href') # 속성 중 href 에 해당하는 값을 가져온다.
print(f'제목 : {linkText}')
print(f'링크 : {linkUrl}')
- 끝 -
728x90
반응형
'프로그래밍 > Python' 카테고리의 다른 글
[Django] 장고 프로젝트 생성하기 (0) | 2021.12.21 |
---|---|
[Python] 파이썬 가상 환경 사용하기(venv) (0) | 2021.12.20 |
[크롤링] Selenium 사용 시 Chromedriver 다운로드하는 방법 (0) | 2021.12.01 |
[크롤링] BeautifulSoup 으로 가져온 데이터 CSV(엑셀)파일로 저장하기 (0) | 2021.11.30 |
[크롤링] BeautifulSoup 사용하면서 스크래핑해오기 어려웠던 것 정리 (0) | 2021.11.23 |
댓글