* 코드는 Jupyter Notebook에서 작성되었습니다.
다음과 같은 네이버 금융 홈페이지에서 날짜, 종가, 전일비, 시가,고가, 거래량 정보를 따오는 코드를 공유해보려한다.
네이버 금융 홈페이지에 카카오를 검색해서 들어간 후 시세를 누르면(그림2참고) 일별 시세 (그림3참고)를 확인할 수 있다.
이 일별시세를 전부 따오기 위해서는 밑의 페이지번호를 눌러줘야한다.
처음에는 동적크롤링을 통해 하나씩 눌러주는 방안을 생각했었는데, 생각보다 문제가 쉽게 해결되었다.
control+shift+c 를 누르고 페이지번호를 누르면 해당 페이지의 html을 확인할 수 있다.
해당 페이지 번호에는 href = url, 로 url이 연결되어있음을 알 수 있다.
그 url을 누르면 다음과 같은 페이지로 넘어가게 되고 이 페이지의 url을 보면 ( ?다음부분을 query문이라고 한다. )
'https://finance.naver.com/item/sise_day.naver?code=035720&page=1'
query문의 마지막 부분에 페이지번호가 그 앞 부분에는 종목코드가 입력되어있음을 알 수 있다.
즉 이 부분만 바꾸면 원하는 종목코드의 전체 페이지를 따올 수 있다는 것이다.
이제 html을 바탕으로 원하는 정보를 가져오자.
똑같이 control+shift+c 를 누른 후 원하는 부분을 클릭하면 html을 확인할 수 있다. (그림6, 그림7 참고)
이를 바탕으로 코드만 작성해주면 끝난다.
라이브러리들에 대해 설명하자면 길어지니 생략하고 그림 8처럼 태그명과 클래스 명으로 정보를 가져올 수 있다.
결과는 list다. num_list의 경우 순서대로 종가, 전일비, 시가, 고가, 저가, 거래량을 가지고 있어 순서대로 뽑아내면 된다.
'DataScience > Crawling & Scraping' 카테고리의 다른 글
더보기, LoadMore 눌러야 할 때 ( dynamic crawling ) (0) | 2023.07.04 |
---|---|
Scraping IMDb review data (0) | 2023.07.02 |
데이터 뽑아내기_ YouTube (0) | 2022.04.12 |
와디즈 크롤링 - 필요한 정보 수집해오기 (0) | 2022.04.09 |
와디즈 url, 상품 코드 가져오기 (0) | 2022.04.08 |
댓글