본문 바로가기
  • 실행력이 모든걸 결정한다
반응형

Crawling10

[크롤링, 예제 5] 이미지를 크롤링 해서 컴퓨터에 저장하기 4달만에 올리는 크롤링 포스팅인데 그 사이에는 개인 프로젝트, 웹 공부(spring, bootstrap)을 하느라 올릴 시간이 부족했던 것 같다. 오랜만에 소개할 예제는 이미지 크롤링이다. 이미지 크롤링 자체는 지금까지 해왔던 예제들만 잘 이해했다면 전혀 어렵지 않을 것인데, 이번 포스팅에서는 이미지 파일 저장을 위한 디렉토리 폴더 생성, 다운로드, 헤더 추가 개념이 새로 도입될 것이고 중요한 개념이니 꼭 이해하고 넘어가는 것이 좋다. 설명은 최대한 자세하게 할 것이고 이해가 안되는 부분이 있다면 댓글로 질문도 받을 것이니 편한 마음으로 시작해보자. 0. 크롤링 계획 세우기 저작권 없는 무료 이미지 사이트에서, 원하는 키워드와 관련된 이미지를 원하는 만큼 크롤링하여 컴퓨터에 저장하도록 하는 프로그램을 만.. 2021. 3. 10.
[크롤링, 보충] 웹 요소 선택 정리 크롤링 시 웹 요소를 선택할 때 Beautifulsoup, Selenium 모듈을 사용하는 방법이 대표적이다. 두 모듈의 웹 요소 선택 사용법을 설명 하기 전 필수로 알아둬야 하는 개념 하나를 짚고 넘어갈 것이다. CSS에서 tag, class, id를 선언하여 스타일을 설정할 수 있는데, 선언할 때 이 셋을 구별하기 위한 선언 규칙이 있다. - tag : 그냥 tag명을 쓰면 된다. tag명 { ... } - class : class명 앞에 .을 붙인다. .class명 { ... } - id : id명 앞에 #을 붙인다. #id명 { ... } 사전 지식은 이 정도면 충분하다. 이 CSS문법이 적용되는 메소드가 몇 개 있는데 앞으로 이들은 빨간 표시로 강조 할 것이다. 두 모듈에서 tag, class,.. 2020. 11. 3.
[크롤링, 예제 4] Youtube - 필터를 적용하여 영상 목록 보기 동적 크롤링 첫 번째 시간이다 웹 페이지 내에서 특정 요소를 클릭할 때, url는 변하지 않지만 html코드가 변할 수 있다. 예를 들면, 유튜브 검색 목록에서 filter 버튼을 클릭하거나, 댓글 목록에서 스크롤을 내려서 더 많은 댓글을 로드할 때가 위에 언급한 경우에 해당 되는데, 이런 때에는 selenium과 driver을 이용하여 동적 크롤링을 해줘야 한다. 이번 포스팅은 예제 1~3과는 많이 다를 것이므로 더 주의 깊게 보는 것을 권장한다. 0. 크롤링 계획 세우기 유튜브 영상 검색과 필터 적용까지 자동화 할 것이다. 필터는 크리에이티브 커먼즈, 조회수를 적용할 것이다. 크리에이티브 커먼즈는 출처만 남긴다면 재사용이 가능한 영상을 의미한다. 개발자나 영상 편집자들은 주목해야 하는 기준이다. 이 .. 2020. 11. 2.
[크롤링, 예제 3] 게임 포럼 사이트에서 정보 긁어오기 (+그래프) 본인이 가끔씩 즐겨하는 스팀 게임 'Geometry Dash' 라는 점프 게임이 있다. 그리고 이 게임의 포럼 사이트 pointercrate.com 에서는 관리자들이 선정한 가장 어려운맵 top 150을 확인할 수 있다. 이 150개의 맵 정보들을 위 사이트에서 크롤링하여 여러 재밌는 통계를 내보며 python의 matplotlib으로 그래프까지 그려보는 시간을 가질 것이다. 0. 크롤링 계획 세우기 가장 어려운 150개의 레벨마다 맵 이름, 플레이 타임(맵 길이), 클리어 인원, 클리어 시 얻는 점수 데이터들을 추출한다. 1. 크롤링할 페이지 접속 /demonlist로 접속했다. (pointercrate.com/demonlist) pointercrate.com/demonlist/ 2. 크롤링 가능 여부.. 2020. 10. 31.
[크롤링, 예제 2] 레벨 분포 구하기 첫 번째 예제에서는 하나의 페이지 안에서 크롤링을 해보았다. kimcoder.tistory.com/165 [크롤링, 예제 1] 문제풀이 사이트 정답율 추출하기 아래 포스팅을 읽지 않았다면 무조건 읽고 올 것을 권장한다. 설치법과 robots.txt같이 필수적으로 알아둬야 하는 개념이 필요하다. kimcoder.tistory.com/164 크롤링을 위한 준비과정 (Python, selenium, beautif kimcoder.tistory.com 이제 두 번째 예제에서는, 여러 페이지(링크)들을 넘나들며 데이터들을 긁어올 것이다. 또, Selenium을 이용할 것이고 크롤링 도중 새 창이 뜨게 하지 않을 것이다. 이를 위해서 예제 1-3 포스팅도 읽고 오는 것을 권장한다. kimcoder.tistory.c.. 2020. 10. 26.
[크롤링, 예제 1-3] Selenium - 새 창 안띄우고 크롤링 하기 저번 포스팅에서의 Selenium 예제에서는 get함수에 의해 새 창이 실행되고, 크롤링 도중에 그 창을 지우면 크롤링이 진행되지 않는다. kimcoder.tistory.com/166 [크롤링, 예제 1-2] 예제 1 - 셀레니움(Selenium) 이용 예제1은 Selenium과 Drive 대신 urllib 라이브러리와 Beautifulsoup 모듈으로 크롤링을 했다. Selenium과 Drive는 필수 사항이 아닐 뿐이지 충분히 이용할 수 있다. 이 포스팅에서는 예제1의 보충수업(?)으로 Bea kimcoder.tistory.com 이번 포스팅에서는 Selenium 사용 시 새 창을 안띄우고 크롤링하는 방법을 소개한다. 저번 포스팅의 코드와 달라진 부분은 4~8번째 줄이다. chrome_options .. 2020. 10. 23.
[크롤링, 예제 1-2] 예제 1 - 셀레니움(Selenium) 이용 예제1은 Selenium과 Drive 대신 urllib 라이브러리와 Beautifulsoup 모듈으로 크롤링을 했다. Selenium과 Drive는 필수 사항이 아닐 뿐이지 충분히 이용할 수 있다. 이 포스팅에서는 예제1의 보충수업(?)으로 Beautifulsoup에 Selenium과 Drive를 추가로 이용하여 크롤링을 해볼 것이다. 이 포스팅에서는 아래 예제1 포스팅을 기반으로 설명할 것이다. kimcoder.tistory.com/165 [크롤링, 예제 1] 문제풀이 사이트 정답율 추출하기 아래 포스팅을 읽지 않았다면 무조건 읽고 올 것을 권장한다. 설치법과 robots.txt같이 필수적으로 알아둬야 하는 개념이 필요하다. kimcoder.tistory.com/164 크롤링을 위한 준비과정 (Pyth.. 2020. 10. 23.
[크롤링, 예제 1] BOJ 정답율 추출하기 아래 포스팅을 읽지 않았다면 무조건 읽고 올 것을 권장한다. 설치법과 robots.txt같이 필수적으로 알아둬야 하는 개념이 필요하다. kimcoder.tistory.com/164 크롤링을 위한 준비과정 (Python, selenium, beautifulsoup 설치) ※크롤링을 할 때 지켜야 하는 룰이 있으니 robots.txt에 대해 모른다면 아래 포스팅을 읽고 오는 것을 강력히 권한다. kimcoder.tistory.com/163 크롤링의 정의와 이점 그리고 주의할 점 크롤링이란 무수 kimcoder.tistory.com 현 시점부터 크롤링은 기본적으로 파이썬을 이용할 예정이지만, 같은 예제를 Node.js에서 cheerio, request 모듈로 크롤링한 포스팅도 있다. kimcoder.tisto.. 2020. 10. 23.
크롤링을 위한 준비과정 (Python, selenium, beautifulsoup 설치) ※크롤링을 할 때 지켜야 하는 룰이 있으니 robots.txt에 대해 모른다면 아래 포스팅을 읽고 오는 것을 강력히 권한다. kimcoder.tistory.com/163 크롤링의 정의와 이점 그리고 주의할 점 크롤링이란 무수히 많은 컴퓨터에 분산 저장되어 있는 문서를 수집하여 검색 대상의 색인으로 포함시키는 기술을 의미하며, 스크래핑(Scraping) 이라고도 한다. 쉽게 말하면 웹 페이지를 가져와서 kimcoder.tistory.com 이번 포스팅에서는 크롤링을 위한 준비 과정에 대해 다루고, 다음 포스팅부터 본격적으로 크롤링을 해볼 것이다. Python 환경에서 웹 크롤링을 하기 위한 3가지 준비절차가 있다. Python설치 -> selenium, beautifulsoup 모듈 설치 -> driver.. 2020. 10. 22.