전체 글

전체 글

    [Python] 이미지 크롤링하기[4] - 병렬처리

    안녕하세요 이번 포스팅에서는 지금까지 개발하던 크롤러의 속도를 개선시켜보도로 하겠습니다. 기존에는 1개씩 다운받으며 진행하는 방식이었습니다. 그래서 먼저 시작하던 작업이 끝나야 다음 이미지를 다운받을 수 있었죠 기본적으로 파이썬은 프로세스가 1개로 실행됩니다. 여러개의 프로세스로 나눠서 동시에 처리하고 싶으면 스레드 또는 멀티프로세싱 모듈을 사용해야하죠 여러개의 프로세스(스레드)로 작업을 동시에 진행하는것을 병렬처리라고 합니다. 파이썬의 멀티프로세싱이라는 모듈을 응용하여 더 빠른 크롤러를 개발해보도록 합시다 기존의 소스코드 상단에 multiprocessing 모듈을 import 해줍니다.(파이썬 기본모듈) 그리고 하나의 함수를 정의합니다 위 함수의 기능은 총 크롤링 할 이미지 수를 프로세스의 수에 알맞게..

    [Python] 이미지 크롤링하기[3] - 추가기능

    안녕하세요 이번 포스팅에서는 지난시간에 완성한 크롤러에 추가기능을 구현해보도록 할 예정입니다. 제가 본 포스팅에서 구현해볼 추가기능은 - 이미지 수 입력- 크롤링 소요 시간 - 이미지 중복 체크 2가지입니다. 필요한 모듈이 있긴한데 모두 파이썬 내장 모듈이므로 따로 설치하지 않으셔도 됩니다. 소스코드 맨 아래에 get 함수 전 num 변수를 선언하고input 함수로 값을 입력받도록 합시다. int() 함수로 입력받은 값을 숫자형태로 변환한 후 저장해야합니다 크롤링 소요시간, 파일 중복확인을 위해아래 time, os 모듈을 import 해줍니다. get 함수의 첫 번째 행에 크롤링 시작 시간을 저장합니다. 저는 변수이름을 start로 선언하였습니다. 그리고 while~ else 의 마지막에 빨간색으로 표시..

    [Python] 이미지 크롤링하기[2] - 구현

    안녕하세요 지난 포스팅에서 분석을 마쳤으니 이번엔 코드를 작성하여 실제로 구현해 봅시다. 먼저 시작 전에 파이썬이 설치되어 있어야합니다! https://www.python.org/ 공식 홈페이지에서 다운받으시면 됩니다. 저는 3.6 버전 이상으로 진행할 예정입니다!(2.x 버전과 호환이 안되는 부분이 있을 수 있음) 파이썬이 설치되어있다면 이제 본격적으로 시작해봅시다! 먼저 소스코드와 이미지를 저장할 폴더를 생성합니다. 저는 10000img 라는 폴더 안에 소스코드를 저장할 예정이고10000img 폴더 안에 img 라는 폴더를 생성하여 해당 폴더에 이미지를 저장할 예정입니다. 먼저 필요한 모듈을 설치해봅시다. CMD창을 열고 아래와 같이 입력합니다. pip install beautifulsoup4 HTM..

    [Python] 이미지 크롤링하기[1] - 분석

    안녕하세요 이번 포스팅 주제는 파이썬으로 특정 웹 사이트의 이미지를 크롤링하여 저장하는 예제를 작성해보도록 하겠습니다! 먼저 파이썬이 컴퓨터에 설치되어있어야합니다. 저는 본 강좌에서 파이썬 3.6 버전을 기준으로 진행할 예정입니다. 먼저 시작전에 필요한 사항입니다. - 파이썬 설치- 파이참 설치(선택) 파이썬만 설치되어있으면 잘 보고 따라오시면 됩니다! 먼저 저는 http://10000img.com 의 이미지들을 크롤링할 예정입니다! 접속해보시면 10000개 중 랜덤으로 아무 이미지를 보여줍니다.(가끔 후방주의 사진 및 이상한 사진, 기괴한사진등이 있을 수도 있습니다) 예제로 사용하기 쉬우므로 선정하였습니다! 분석절차만 잘 이해하신다면 다른 사이트의 이미지들도 원하는대로 크롤링하여 저장하실 수 있습니다!..

    [Node.js] 버스 정보 API 사용하기(2) - API 활용

    안녕하세요 지난 포스팅에서 API 키를 발급받았으니 직접 활용하는 예제를 작성해보도록 하겠습니다! 먼저 필요한 요구사항은 Node.js가 설치되어있어야합니다! http://codevkr.tistory.com/12 API에 대한 사용방법(메뉴얼)을 확인해봅시다. 워드파일로 첨부되어있는 파일을 열어보시면 메뉴얼을 확인하실 수 있습니다. 확인해보니 위와 같은 방법으로 요청하면 됩니다. http://openapi.gbis.go.kr/ws/rest/busarrivalservice/station?serviceKey=키값&stationId=정류소ID 또한 경기 버스정보 홈페이지에서도 메뉴얼을 확인하실 수 있습니다. http://www.gbis.go.kr/gbis2014/publicService.action?cmd=o..

    [Node.js] 버스 정보 API 사용하기(1) - 가입 및 API 키 발급

    안녕하세요! 이번 포스팅 주제는버스 정보 API를 사용하는 방법에 대해 소개할 예정입니다 경기도 버스 API를 기준으로 설명하고Node.js에서 버스 API를 이용한 간단한 예제도 작성해볼 계획입니다. 총 2개의 포스트로 나눠서 강좌를 진행하도록 하겠습니다. 첫번째 포스팅에서는 API를 사용하기 위한 API 키 발급에 대한 내용을 다루도록 하겠습니다! 먼저! 시작하기전에 필요한 준비물이 하나 있습니다. 공공데이터포털에 가입하기 위한 공인인증서 꼭 필요합니다.(공공데이터포털에 이미 가입하셨으면 없어도 됩니다) 공인인증서는 필수가 아니라고 합니다.나중에 공인인증서로도 로그인하고싶으신 분들은 인증서를 준비해주세요! 원활한 진행을 위해 웹 브라우저는 Internet Explorer를 사용해주세요! 먼저 공공데이..

    [Node.js] 카카오톡 플러스친구 챗봇 만들기(3) - 자동응답 API 구현

    안녕하세요 이번 포스팅은 카카오 플러스친구 챗봇에 대한 마지막 강좌입니다 지난 강좌에서는 첫 채팅시 보여줄 버튼들을 제공하는 기능을 구현하였습니다. 이번 포스팅에서는 상대방이 어떤 데이터를 전송하면 이에 맞는 응답을 하도록 구현해보겠습니다! [1. API 문서 확인] 접속 URL은 http://서버주소/message입니다 방식은 지난번과 다르게 GET 방식이 아니라 POST 방식입니다. 아래 파라미터를 보시면 user_keytypecontent 3개의 데이터가 함께 전달된다고 합니다. 아래 예제와 같은 형식으로 서버에 전달됩니다. 전달받은 데이터를 가지고 적절하게 처리한 후 응답하는 형식에 대해서도 명시되어있습니다. 아래와 같은 형식으로 다시 응답하면 됩니다. [2. POST 데이터를 위한 모듈 설치] ..

    [Node.js] 카카오톡 플러스친구 챗봇 만들기(2) - API 서버 개발 및 테스트

    안녕하세요 이번 포스팅에서는 Node.js로 서버를 생성하고 카카오 플러스친구에서 테스트까지 마치는 작업을 진행하도록 하겠습니다! [1. 채팅 유형 선택] 생성한 플러스친구의 채팅 유형을 선택하도록 합시다. 저희는 API 서버를 개발할것이기때문에 우측의 API형 을 선택하시면 됩니다! [2. API 확인] 위와같이 정보를 입력하는 창이 뜹니다. 하지만 지금 핵심적으로 입력해야하는 앱 URL에 작성할 내용이 존재하지않죠 우리가 서버를 구축하여 앱 URL을 제공하면 됩니다! 옆엔 테스트 버튼이 존재하는데 잘 작동하는지 확인하기위한 버튼입니다! 테스트를 거쳐야 등록할 수 있습니다. 우측 상단에 보시면 API Document 버튼이 있습니다. 눌러서 문서를 확인해봅시다. "이러이러한 형식으로 구현, 제공하라" ..

    [Node.js] 카카오톡 플러스친구 챗봇 만들기(1) - 가입 및 플러스친구 생성

    안녕하세요~ 이번 포스트에서는 카카오톡 플러스친구 자동응답 API를 이용하여 챗봇을 만들어보도록 하겠습니다. 먼저 시작하기전에 대충 어느식으로 서비스가 진행되는지 알아보도록 합시다! 카카오톡을 사용하는 유저가 있습니다. 주로 친구, 지인들과 채팅을 주고받죠 우리가 개발할 챗봇도 지인이라고 생각하시면 쉽습니다! 먼저 사용자가 데이터를 전송합니다. 전송된 데이터는 카카오톡 서버를 거쳐서 상대방(서버)에게 전달되죠 상대방(서버)은 받은 데이터에 알맞는 대답을 해줍니다. 대답한 데이터가 다시 사용자에게 도착하는 형식입니다! 저의가 위 사진에서 담당해야할 부분은 서버 부분입니다! 사용자가 입력한 데이터를 분석하여 알맞는 정보를 제공하는것이 목적이죠! 크게 어려운것은 없기때문에 천천히 따라오신다면 누구나 저와 함께..

    [개발자] 포트폴리오 사이트

    안녕하세요 이번 포스트에서는 제 포트폴리오 사이트를 공개할까합니다. 제목에 "개발자" 라고 했지만 아직 고등학생이고 직업이 없기때문에 붙일까말까 고민했습니다.. 하지만 제 꿈이 개발자이고 개발자를 준비하기 위해 포트폴리오 사이트를 만들었으니 개발자라고 칭하겠습니다 [ 주요 특징 ]1. 반응형 (PC, 태블릿, 스마트폰 모두 확인가능)2. SPA (단일 페이지 애플리케이션)3. 순수 Javascript 와 Vue.js 사용4. 심플해서 필자에게 마음에 든다 포트폴리오 링크입니다. https://leegeunhyeok.github.io/ 이전부터 수많은 시행착오가 있었습니다..(라즈베리파이로 웹 서버 열기, 노트북으로 열기 등..) 전기료도 조금 걱정이었고 실수로 스위치를 꺼버린다면 서버가 죽어버린다는것이 ..