본문 바로가기

파이썬 크롤링 005 - 쇼핑몰 상품정보 (with selenium) / 데이터수집 자동화 앞선 포스팅에서 파이썬 코드를 통한 크롤링 기본적인 내용을 한 번 정리해봤습니다. 너무너무너무 단순했죠? 이번에는 조금 다른 방법으로 크롤링을 해보려고 합니다. 바로 Selenium 라이브러리를 통해서 크롤링 하는 것인데요. 아래서 조금 더 자세하게 설명해드리겠습니다. 크롤링에 대한 기본적인 내용을 보시려면 아래 링크로 걸어드리는 4개 포스팅을 보시면 조금 감을 잡을 수 있지 않을까? 라고 생각합니다. 2020/04/19 - 파이썬 크롤링 001 - 구성요소, 구현방법 2020/04/26 - 파이썬 크롤링 002 - 크롤러 구현 2020/05/03 - 파이썬 크롤링 003 - 파서 구현 2020/05/05 - 파이썬 크롤링 004 - 파싱 결과 저장 기존에 파이썬 requests 라이브러리를 활용해서 간.. 더보기
파이썬 크롤링 004 - 파싱 결과 저장 / 데이터수집 자동화 정말 기본적인 크롤링 구현을 보여드리고 있습니다. 앞선 포스팅 3개에서 이어지는 포스팅이고요. 파이썬을 활용한 크롤링에 대해서 궁금하신 분들은 001부터 봐주시면 더 이해가 쉽습니다. 아래 링크로 달아둘게요. 2020/04/19 - 파이썬 크롤링 001 - 구성요소, 구현방법 2020/04/26 - 파이썬 크롤링 002 - 크롤러 구현 2020/05/03 - 파이썬 크롤링 003 - 파서 구현 003에서 작성한 코드를 일부 수정했습니다. 일단 전체는 이렇게 생겼고요. 추가된 부분만 설명해볼게요. import requests from bs4 import BeautifulSoup crawling_target_urls = [ 'https://finance.naver.com/item/main.nhn?code=0.. 더보기
파이썬 크롤링 003 - 파서 구현 / 데이터수집 자동화 벌써 3번째 글이네요. 앞에 001, 002 글에서 이어지는 글이라서 관심있는 분들은 한 번 읽고 이번 글을 읽으시면 더 이해가 쉬울 것 같습니다. 아래 링크로 달아둘게요. 2020/04/19 - 파이썬 크롤링 001 - 구성요소, 구현방법 2020/04/26 - 파이썬 크롤링 002 - 크롤러 구현 이번 포스팅은 제목에도 나와있지만 파서를 구현하는 내용입니다. 정확하게는 멋진 라이브러리를 사용해서 크롤링한 데이터에서 원하는 내용만 뽑아내보는 것이죠. 002 포스팅 예제에서 주식 정보가 나와있는 사이트를 예로 들었는데 이번 포스팅에서도 이어서 사용해봅니다. 위 그림에서 오른쪽에 박스 그려둔 곳 보이시나요? 저곳에 있는 정보를 파싱하는 대상으로 설정해보죠. 그렇다면 아래와 같은 코드로 가능합니다. 코드를 .. 더보기
파이썬 크롤링 002 - 크롤러 구현 / 데이터수집 자동화 이전 포스팅에서 파이썬 크롤링 001 - 구성요소, 구현방법에 대해서 이야기 했습니다. 이어지는 포스팅이니까 혹시 1번을 안보신 분들은 보고 오시면 더 쉽게 이해되지 않을까 싶습니다. 이번 포스팅에서는 크롤러를 구현해봅니다. 이게 크롤러가 끝이야? 장난해? 라고 하실 수 있겠습니다. 저는 비개발자 분들이 부르는 크롤링은 사실 크롤링과 파싱을 합친 개념이라고 보거든요. 그래서 원하시는 결과를 얻으려면 파싱까지도 하셔야 하는데 이번 포스팅에서는 크롤링만 해보도록 하겠습니다. 어떤 예제가 좋을까? 고민을 했는데 주식쪽으로 예제를 만들어봤습니다. 주식을 투자하시다보면 회사들의 정보를 찾아보는 경우가 많죠. 간단하게는 요약정보부터 조금 더 자세하게는 재무제표까지 들여다 보는 것은 기본이라고 하죠. 이런 가정을 해.. 더보기
data writing in google spreadsheet using python 2.7 파이썬 코드로 구글 스프레드시트에 데이터를 작성하는 방법에 대해서 정리해봅니다. 이 내용은 구글에서도 잘 정리해둔 것을 따라하면서 확인하는 정도입니다. 구글에서 정리한 내용을 보시려면 다음 링크를 클릭하세요. https://developers.google.com/sheets/api/quickstart/python 구글 스프레드시트를 사용할 예정이니 당연히 구글 계정이 있어야겠죠. 그외에는 python과 pip가 설치된 환경이면 문제 없을 것 같습니다. 1. 프로젝트 만들기 구글 API를 사용하기 위해서 하나의 프로젝트를 만들어야 하는데요. 아래 URL에 접속해서 프로젝트를 만들 수 있습니다. https://console.developers.google.com/flows/enableapi?apiid=she.. 더보기
Django Rest Sample App 많은 블로그나 웹 문서에서 다루고 있는 내용이라서저는 참고용 소스와 스샷으로 대신합니다 :) 간단하게 물건에 대해 저장 / 관리할 수 있는 앱이라고 생각하시면 되겠습니다.물론물론 당연히 실제로 이렇게 물건들이 관리되진 않겠죠 !! Django + REST 방식이 어떤 소스로 작동되는가 정도를 공유하는게 목표입니다. 1. 구현된 소스를 작동시키고 localhost:8000/product_a/management 로 접근하면 아래와 같은 화면이 나옵니다. Django REST Framework에서 기본적으로 제공하는 화면인데요.실제 get / post 명령어가 여기에서 가능하도록 UI가 구성되어 있습니다. 접속하면 get이 실행되어서 화면에 출력되고요. 하단에 있는 form을 통해서 post 메소드를 실행할 .. 더보기
gulp 예제 (기록용) 약 2달 전에 아래와 같은 포스팅을 남겨둔 적이 있네요. 2016/08/25 - [Bootstrap&JS] - gulp uglify error 아무튼 이번에는 gulp를 어떻게 사용하고 있는지 간단하게 기록용으로 남겨둡니다. 스샷으로 간단하게 남겨봅니다. gulp gulp depend gulp publish 이런 명령어를 사용해서 gulp를 실행하고요. 꽤 편리하게 사용하고 있습니다 :) 더보기
Javascript 모듈화 예제 (기록용) 예전에 포스팅한 아래 글에 이어서 하나 더 추가해봅니다. 2016/07/16 - [Bootstrap&JS] - Javascript 모듈화 (기록용) 위 포스팅보다 좀 더 친절하게 작성했습니다.일단은 기록용이고 틀린 부분은 지적해주세요. github에도 추가했습니다. https://github.com/motobyus/moto // ===============================================// write : moto// update : 2016.10.30.// =============================================== var OBJSAMPLE = function() { // private variables ---------------------------.. 더보기
Bootstrap alert + collapse Bootstrap의 alert + collapse를 활용하면 alert를 보여주거나 숨겨서 사용자에게 적절한 안내를 하는데 도움이 됩니다. 1. 다음 코드는 아래 그림과 같이 alert를 보여줍니다. 좋습니다. 하지만 danger alert div 오른쪽의 x를 누르면 div가 사라지고 show 버튼을 눌러도 다시 div가 나오지는 않습니다. 일반적으로 alert는 반복적으로 활용하는 경우가 더 많은 것 같지 않나요? 예로 이메일 형식을 검사해서 alert를 띄워준다고 하면 반복해서 틀리는 경우가 존재할 것 같아요. 2. 그래서 아래와 같이 alert 코드를 변경합니다. 주석으로 처리한 소스가 기존 소스이고 아래 추가된 소스는 클릭하면 id를 활용해서 해당 div를 숨기는 처리를 합니다. 물론 위에 소스.. 더보기
Bootstrap Table 정리 2 이번 포스팅에서는 Bootstrap Table 정리 2Bootstrap에서 기본적으로 제공되는 Table에 여러 기능을 붙여 쉽게 동적인 테이블을 만들 수 있습니다. 깃허브 사이트는 https://github.com/wenzhixin/bootstrap-table상세 설명이 되어 있는 사이트는 http://bootstrap-table.wenzhixin.net.cn/예제 사이트는 http://issues.wenzhixin.net.cn/bootstrap-table/ 위 사이트에 모두 정리되어 있어요. 정리 1에 이어서 !! 2에서는 테이블 컬럼을 시각화할 때 단순 값 표현이 아니라 값을 활용해서 커스터마이징 시킬 때 어떤 값을 사용해야 하는가.. 에 대해서 간단하게 정리해둡니다. :) 아래와 같이 테이블의 H.. 더보기
django - model field example django model field에 대해서 작성해봅니다. model field는 여러 가지가 있고, 옵션(option)들도 있어서 원하는 form이나 database table을 만들 수 있습니다. 여러 model field를 한 번 생성해보고 admin 페이지에서 어떻게 보이는지확인해보는 것이 이번 포스팅의 목적입니다. 일단 model field에 대한 django 공식홈의 문서는 아래 url과 같습니다.url : https://docs.djangoproject.com/es/1.9/ref/models/fields/ model filed option에 대해서는 아래 url을 참고하세요.url : https://docs.djangoproject.com/es/1.9/topics/db/models/#field.. 더보기
django - model and admin django에 대해 tutorial 부터 다시 보고 있습니다. 이번 포스팅에서는 tutorial에 나와 있는 것을 따라해보는 정도입니다. tutorial url https://docs.djangoproject.com/en/1.9/intro/tutorial02/ 위 tutorial 중 하단에 있는 내용 중 admin 페이지에 관한 것입니다.model에 attribute는 데이터베이스의 column과 유사하게 인식해도 될 것 같습니다. 아래와 같은 단계를 통해 admin 페이지의 기능을 확인해보고자 합니다. 1. super 사용자 생성 (createsuperuser)2. 여러 attribute 가진 model 생성3. admin.py 수정4. admin 페이지 접속 및 확인 1. python manage.p.. 더보기
파이썬 basic - Read GeoJSON 파이썬(python)을 잘하고 싶어요 ㅠㅠㅠㅠ 사실 파이썬 이라기 보다는 개발을 잘하고, 설계도, 프레임워크 사용도 기타 등등도 ㅠ 열심히 정리하고 하나씩 배워나가야겠죠. 그래서 오늘은 GeoJSON 파일을 읽는 것에 대해서 간단하게 정리해둡니다. 일단 파싱하고자 하는 예제 GeoJSON은 다음과 같이 생겼습니다아. 서울 열린데이터 광장에서 "역코드로 지하철역 위치조회" 라는 제목으로 배포되고 있는 CSV 파일을 GeoJSON으로 가공한 데이터입니다. ㅎㅎㅎ 이 데이터가 2015년 09월 11일 기준으로 조금 이상하게 입력되어 있는 부분이 있긴 하지만 GeoJSON 파일 읽기에 대한 예제로는 무리가 없습니다. GeoJSON도 기본적으로는 JSON이기 때문에 아래와 같이 json 모듈을 추가함으로써 쉽게 .. 더보기
openlayers 3 : Vector Layer Visualization 001 (GeoJSON) ol3를 활용해서 벡터데이터를 시각화하는 방법 001 입니다. 001에서는 단순하게 하나의 geojson 파일을 ol3를 활용해서 시각화하는 것을 정리하고 002에서는 타일링된 geojson 파일을 ol3 활용 시각화하는 것을 정리해보려고 합니다. 002는 약간은 복잡한 내용이 들어갈 수 있어서 당장하지는 못할 것 같아요 ㅎㅎ 1. ol3 버전이 중요합니다. 정확하게 몇 버전 부터 달라졌는지는 검색하지 않았습니다. 다시 확인해보니깐 3.5 버전부터 입니다. 3.5 버전으로 가면서 vector layer 관련 api가 약간 변경되었다는 점이 중요합니다. 참고 웹 페이지 중 가장 마지막 링크에 들어가보시면 변경사항에 대해서 자세히 나와 있습니다. 참고 : https://github.com/openlayers.. 더보기
Django Forms(002) - create page Blog Posting - Django Forms Django Forms(001) - init : http://ngee.tistory.com/736 Django Forms(002) - create page : http://ngee.tistory.com/737 Django Forms(003) - create form : http://ngee.tistory.com/739 Django Forms(004) - submit form : http://ngee.tistory.com/740 001에 이어서 002는 create page입니다. 결론적으로는 잘 까먹는 저를 위해서 작성해두는 포스팅이구요. 혹시라도 읽고 계시는 분이라면 순서대로 읽고 계시다고 가정하고 내용을 정리합니다. 001을 간단하게 리뷰해보면, 스크.. 더보기
MariaDB Column Drop, Delete 이번에는 MariaDB를 사용해야 하는데요. 많이 쓰이는 SQL 정리도 할 겸. 몇 가지 포스팅을 작성해두려구요 . 이미 많은 블로그에서 정리가 되어 있고, 공식 홈페이지나 SQL 문서를 보셔도 됩니다. MariaDB 홈페이지 : https://mariadb.org/ MariaDB Doc : https://mariadb.com/kb/en/ W3C School SQL : http://www.w3schools.com/sql/ 이번에는 기존 테이블에 존재하는 컬럼을 삭제하는 내용입니다. 아래 그림 처럼 데이터베이스 testdb 라는 곳에 userinfo 라는 테이블이 존재한다고 가정하겠습니다. 총 3개의 컬럼이 존재하는데요. uid, username, age입니다. 여기서 age 컬럼을 삭제하기 위해서 아래와.. 더보기