Crawling(7)
-
[Selenium] Spring boot에서 Selenium으로 크롤링하기.
Selenium 공식 주소 https://www.selenium.dev/ Selenium Selenium automates browsers. That's it! www.selenium.dev WebDriver 다운 주소(사용하는 Chrome과 맞는 버전으로 받아야함.) https://www.selenium.dev/documentation/webdriver/getting_started/install_drivers/ Gradle에 추가 1 implementation 'org.seleniumhq.selenium:selenium-java:4.0.0' cs 크롤링 Code WebDriverUtil.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ..
2022.01.30 -
3-1. 크롤링한 데이터를 리스트화 List [], 사전화 Dict {}
1. '1위' (str)을 1 (int)로 바꾸기데이터의 활용성을 높이기 위해서 의미없이 반복되는 '1위' '2위' '3위'.... 에서 순위를 나타내는 '위'를 없애고 숫자만 남게 합니다. 123456789101112131415161718192021222324252627282930import requestsfrom bs4 import BeautifulSoup as BS def mnet_Crawling(html): tr_list = html.select('div.MnetMusicList.MnetMusicListChart > div.MMLTable.jQMMLTable > table > tbody > tr') for tr in tr_list : rank = tr.find('td',{'class':'MMLIt..
2018.05.27 -
2-4. BeautifulSoup를 이용한 Mnet 차트 크롤링 하기[함수]
1. 1-100위까지 추출하기기존 주소로는 1-50위까지만 추출이 가능했으니, 2페이지에 있는 51-100위까지의 차트도 이어서 출력해 봅니다.1페이지는 http://www.mnet.com/chart/TOP100/ 이렇게 나오지만,2페이지를 가보면 http://www.mnet.com/chart/TOP100/2018052613?pNum=2 이런식으로 나오기 때문에구조를 짐작해볼 수 있습니다. http://www.mnet.com/chart/TOP100/ /2018052613 ?pNum=2 엠넷 차트 주소 날짜와 시간 페이지 이러한 구조를 가지고 있고,'날짜와 시간'의 경우 지금은 YYYYMMDDHH의 구조를 가지고 있지만,YYYY - 해당 연도 차트YYYYMM - 해당 달의 차트YYYYMMDD - 해당 날의..
2018.05.26 -
2-3. BeautifulSoup를 이용한 Mnet 차트 크롤링 하기[데이터 접근]
1. 접근 방법.find('태그').find_all('태그').select('태그주소').select_one('태그주소')이렇게 네가지가 있고, .find('태그') / .select_one('태그주소') 태그나 태그주소를 통해 하나의 값을 반환합니다.여러개일경우 최초 1개만 반환합니다. .find_all('태그') / .select('태그주소')태그나 태그주소를 통해 검색된 모든 결과를 List[] 목록으로 반환합니다. 2. tr_list 만들기 [2-1]에서 필요한 데이터들은 전부 각각 순위별 안에 에 들어 있음을 알 수 있었습니다.이를 이용하여 들을 List로 만들어서 [,,,......]필요한 데이터()를 꺼내쓰면 됩니다. 1단계 - 접근하기 쉬운 유일값 찾기 12345678910111213141..
2018.05.22 -
2-2. BeautifulSoup를 이용한 Mnet 차트 크롤링 하기[import 모듈]
1. requests 123456import requestsfrom bs4 import BeautifulSoup as BS req = requests.get('http://www.mnet.com/chart/TOP100/') print(req)Colored by Color Scriptercs [request]와 [bs4 module의 BeautifulSoup]를 import합니다. (as BS는 BeautifulSoup가 너무 기니 약칭으로 BS라 부르겠다는 겁니다.) 결과값인 은 HTTP상태코드 참고.몇가지만 예를 들면 위의 [200]을 포함한 200번때는 잘 처리 성공을 알려주는 코드고,한번쯤은 봤을 404처럼 400번때는 요청오류,501같은 500번때는 서버오류를 나타낸다. 마지막 줄에서 print(..
2018.05.20 -
2-1. BeautifulSoup를 이용한 Mnet 차트 크롤링 하기[분석]
Mnet의 실시간 음원차트를 크롤링하려고 합니다. http://www.mnet.com/chart/TOP100/ 1. 필요한 데이터 분석표시한 [순위], [앨범이미지], [타이틀], [가수명], [앨범명]을 가져오려고 합니다. 2. HTML 분석1번에서 분석한, 내게 필요한 데이터를 바탕으로HTML문서에서 해당 데이터가 어디에 위치하고 있는지 알아내야 합니다. 크롬 브라우져로 Mnet - 실시간 종합 차트 페이지에 접속합니다.[크롬 브라우저 - 메뉴 - 도구 더보기 - 개발자도구]를 선택합니다.윈도우 환경의 경우 F12 / 맥의 경우 ⌥⌘+i화면 기준으로 중앙 상단 or 개발자도구 기준 좌측 상단에 있는 도구를 선택하고, 1번에서 필요하다고 생각한 부분인 순위 부분 클릭. 복잡해 보이지만, 쉽게 ... 큰..
2018.05.20