일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 수리 키친
- 제주 올레 7-1
- 모바일 올레 패스
- 러시아
- 나스닥
- 제주 올레 7
- Quant
- 폭락
- 알고리즘
- 미국 증시
- 올레 13코스
- 이분탐색
- 카페 제라
- 올레 스테이
- S&P 500
- 제주 올레
- 코로나 바이러스
- 사우디
- 산노루
- 신한 레버리지 wti 원유 선물 ETN
- 맨드롱국수
- 원유
- 올레 14-1 코스
- 안뜨르
- 트럼프
- 셀레니움
- 코스피
- 주식
- 선형분석
- 카페 우다
- Today
- Total
생각이 담아두는 곳
2. 개발의 시작. 본문
셀레니움을 이용해 개발하기 시작했다.
첫 코드는 아래와 같다.
from selenium import webdriver
driver = webdriver.Chrome("/Users/growing/Projects/WC/chromedriver")
driver.get("https://thevc.kr/")
venture_search = driver.find_element_by_class_name("total_search")
venture_search.clear()
venture_search.send_keys("왓")
driver.implicitly_wait(10)
driver.find_element_by_xpath('/html/body/header/div[2]/div/div[1]/div[2]/ul/li[1]/a/img[1]').click()
driver.implicitly_wait(20)
driver.quit()
우선 가상환경을 설정해, 셀레니움을 설치하고 webdriver 라는 모듈을 가져왔다.
driver.get("주소")를 이용해, 그 주소에 자동으로 접속
우리가 접근하려는 사이트는 https://thevc.kr/
더브이씨 (THE VC) - 한국 스타트업 투자 데이터베이스
한국 스타트업의 투자 소식을 확인하고 스타트업, 액셀러레이터, 벤처캐피탈을 찾아보세요. 한국 스타트업 투자 생태계를 파악하는 가장 빠른 방법 - THE VC
thevc.kr
문제는 저 괴랄한 사이트가 네이버나 구글과는 다르게, "검색" 버튼이 없다는 것에 있다.
사실 내가 초짜라 헷갈려서 괜히 엄한 사이트에 화를 냈다.
검색 이후에, 저 회사 검색 사이트로 이동을 하려면 엔터키를 눌러도 안되고 저 "회사등록" 버튼을 클릭해서도 안되고(저거는 다른 창으로 넘어간다.), 저 검색창에서 click이라는 함수를 콜해도 안된다.
먼저 저 검색창은 class 를 total_reasearch 라고 가지고 있으니, 그걸 통해 검색창을 찾고
send_keys 함수를 통해 원하는 검색어를 입력한 뒤
저 주르륵 내려오는 창을 클릭해야한다.
저 내려오는 창의 경로를 알려고 하던대로 개발자도구에서
요 버튼을 클릭해서 알아보려 했는데, 이유는 모르겠지만 저 버튼을 클릭하면 검색창이 사라져서 여기서 한 번 더 막혔었다 .
결국 도움을 얻어, 저것의 단축키가 Command + Shift + C 라는 것을 알게 되어서, 단축키를 이용해서 xpath를 복사했다. (윈도우에서는 command 키 대신 control)
그래서 접근하니 아뿔싸
exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/header/div[2]/div/div[1]/div[2]/ul/li/a"}
(Session info: chrome=80.0.3987.132)
이런 에러가 발생했다. 검색해서 찾아보니, 웹페이지가 로드 되기 전 클릭을 해서 생기는 오류란다.
implicitly.wait() 이라는 함수를 통해, 지연을 걸어주고(time.sleep() 과 유사) 접속을 하니 잘된다.
오늘 한 것. Selenium 을 이용해, Chrome webdriver 로 thevc.kr 에 원하는 회사를 검색하고, 그 페이지를 불러오게끔 한 것.
'CS_Project > WebCrawler_Venture' 카테고리의 다른 글
4. 반복문을 통해, 원하는 데이터 엑셀로 저장하기 (0) | 2020.03.23 |
---|---|
3. 셀레니움으로 필요한 정보 텍스트로 가져오기 (0) | 2020.03.23 |
1. 전체적인 구도 (0) | 2020.03.23 |