목록Programming/Python (6)
Sh4n3e
어떤 사이트의 공고(Announcement)를 주기적으로 확인해야하는 일이 생겼다.하지만 매일 직접적으로 확인하는 것은 쉽지 않은 일이다.그래서 나는 자동적으로 크롤링을 하는 웹 크롤러를 제작해보았다. (크롤러의 개념이 이렇게 쓰이는 것이 아니라면 알려주세요.)크롤링한 정보는 주기적(매일 오후 1시)으로 Telegram을 통해 받아 볼 수 있도록 했다. 순서는 아래와 같았다.1. Open AWS(Amazon Web Service) Free Tier Server (Ubuntu)2. Create Telegram Bot and Telegram Channel3. Build a Python Script4. Add a Schedule at Crontab AWS 프리티어 서버를 여는 것은 구글링을 하면 많은 정보를 ..
Unicode JSON을 Ascii 형태의 Dictionary로 변환 및 CSV형태로 저장[How to convert Unicode JSON to Ascii Dictionary and to save CSV file?] 오늘은 Unicode 형태의 JSON을 Ascii 형태의 Dictionary로 변환을 해보도록 하자.사실 이렇게 했던 이유는 웹에서 JSON을 가져왔는데 u'형태로 저장되어 있었고, 이놈을 CSV파일 형태로 저장하려는데,제대로 저장을 못한다는 것을 알게되었다... (왜냐하면? Unicode형태니까..)따라서 Unicode로 저장되어 있던 JSON을 UTF-8형태로 저장해야지만 CSV를 열었을때, 제대로 저장되어 읽힌다는 것을 알게되었다... 이제 이것을 어떻게 풀어나가는지 한번 보자.우선은..
PIL을 이용하여 exif 정보를 가저온 후, 이 정보를 통해 JPG의 파일을 타임스탬프로 변경하는 프로그램이다.exif내에 존재하는 타임스탬프 종류는 3가지로 다음과 같다.1) DateTimeOriginal2) DateTimeDigitized3) DateTime 해당 이름 명이 존재하면 그 값을 가져다 return 해주어 이름을 바꿔주고그외에 존재하지 않을 경우, 예외처리하여 바꾸지 않는 프로그램임. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172#version 1.0import os, sysfrom PIL i..
Url라이브러리 사용법 POST방식 전송시에는 아래와 같이 전송하며, GET방식 전송시에는 urllib2.Reuqest를 할때 data 없이 보내면 된다. 1234567891011121314151617181920212223242526import urllib2, urllib #Urlurl = 'http://URL' #Http Headerheaders = {'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8', 'Host': 'www.google.com', 'User-Agent': 'Apache-HttpClient/UNAVAILABLE (java 1.4)'} #Post Valuesvalues = { 'boardSid': '000000002', ..
중복된 사진을 제거했다. 하지만 뒤죽박죽 섞여있는 사진파일들... 게다가 서로다른 기기로 찍은 사진이 뒤섞여있었다.(아이폰6, 아이폰6s) 사진 파일 내부를 들여다 보니 JPG파일 안에 Timestamp가 박혀있다는 것을 확인할 수 있었다.해당 파일을 좀더 구체적으로 분석하면 좋았겠지만, 귀찮은 관계로 그냥 대충 Parsing하여 원하는대로 파일의 이름을 파일에 박혀있는 Timestamp로 변경하였다. 프로그램의 로직은 아래와 같다.1. 폴더내 대상 파일들의 리스트를 가져온다.2. 파일 포인터를 일정부분 이후로 Jump시킨다. (file.seek())3. 그 위치로부터 해당 핸드폰이 iPhone6인지 iPhone6s인지 구분한다.3. 그리고 +25 byte 위치에 있는 Timestamp를 추출한다.4. ..
사진을 정리해야할 일이 생겼다. 하지만 이름은 다르지만 똑같은 사진이 너무 많았다. 어찌정리할까 생각하다가 파이썬으로 간단하게 프로그램을 작성해 보았다. 기본원리는 다음과 같다.1. 파일 Size가 같다면, 동일 파일일 가능성이 높다.(Greedy)2. 동일 파일을 구분하기 위해서 전체적으로 비교하기보다는 해당파일의 바이너리를 일정 사이즈 단위로 불러와 Hash값을 만들어 비교한다. 해당 소스는 아래와 같다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849import os, sysimport hashlib file_list = []cnt = 0path = '/Users/leekeezz/Desk..