목록전체보기 (47)
INSPECT
[Python+GAE+Telegram Bot 오버워치 전적검색기] 요즘 오버워치에 빠져 게임을 하다 오버워치 전적검색을 메신저로 하면 편하겠다는 생각이 들어 만들기 시작했다. 메신저는 공식 봇을 제공하는 텔레그램 봇을 이용하기로 했다.오버워치 전적검색은 오버워치 유저들이 많이 쓰는 오버로그 (http://overlog.gg/)를 사용했다. 먼저 Python으로 스크립트를 작성해보았다. 오버로그에서 전적 검색을 하려면 플레이어 이름으로 검색하고 자신의 이름을 눌러 확인 가능하다. 처음엔 검색을 하고 자신의 이름을 눌러 확인하는 절차로 만드려고 했지만 오버로그에서 막아놓은 것인지 실력이 부족한 탓인지 실패했다.그래서 이 페이지, 배틀코드까지 치면 바로 나오는 유저의 페이지를 크롤링하기로 마음먹고 만들었다. ..
[PEFile Module] PEFile Module은 프로그램의 PE Header를 볼 수 있게 해주는 모듈이다.https://pypi.python.org/pypi/pefile에서 다운로드 할 수 있다.pip로도 쉽게 다운로드 할 수 있다. 나는 다운로드 하려니 future모듈이 없다고 해서 future 모듈부터 다운로드 하였다. 이후 PEfile을 pip install로 다운로드하였다. 설치 완류 후에 pefile을 import 한 뒤 pe = pefile(PE('경로') 를 적어주면 된다. notepad.exe를 분석할 것이라고 알려주는 작업이다.이제 헤더정보를 출력할 수 있다.명령어는 pe(pefile.PE('')를 입력한 변수명).구조체.멤버 이다. pe.OPTIONAL_HEADER.Addres..
[XML parsing] AndroidManifest.xml 파싱 AndroidManifest.xml 파일을 파싱하기 위해 찾아본 결과 python에 xml파싱 라이브러리가 존재했다. 그 중 ElementTree라는 라이브러리를 가장 많이 쓰는 것 같았다.xml파일의 내용은 위와 같고 나는 여기서 permission, receiver, service별로 파싱하고 싶었다.note는 문서의 최상단 태그를 가리키게 된다. 태그를 탐색하는 함수는 기본적으로 find와 findall이 있는데 note.find라고 쓴다면 root안에서만 태그를 탐색하고 그 하위 자식태그들은 탐색하지 못한다.iter은 반복적으로 모든 자식의 태그까지 탐색한다. 그리하여 ()안의 태그를 찾는다. 나는 복잡하게 하기 싫어서 iter로 ..
[os.walk] 특정 디렉터리의 모든 파일명 알아오기 특정 디렉터리에서 파일명을 알아올 일이 생겨 찾던 중 os.walk 모듈이 그 기능을 제공해주는 것을 알 수 있었다.위 처럼 접근할 파일의 경로를 써주기만 한다면 root, dirs, files에 각각 root는 어떤 디렉토리인지, dirs는 root 아래의 디렉토리 목록, 그리고 files는 root 아래의 파일 목록이다. 모든 목록은 리스트 형태로 저장된다.나는 splitext를 사용하여 파일의 확장자를 제거하여 저장한 뒤 그 항목들을 리스트로 만들었다.출력 결과는 위와 같이 나오게 된다. OS.walk를 이용해 절대경로를 반환하는 함수이다. allfiles라는 함수로 절대경로를 반환하게 한 뒤 아래 for문에서 그 경로를 활용하여 autoit을..
[pyautoit을 활용한 자동설치]파이썬에서 autoit을 사용할 수 있도록 만든 pyautoit을 활용해 Xshell5를 자동으로 설치해보았다.XShell 5 설치를 위해 처음 실행시키면 위와 같이 설치준비하는 시간이 넉넉잡아 15초정도 걸렸다.AutoIt을 설치하면 생기는 Au3Info을 실행시켜 박스친 Finder Tool을 이용해 선택된 곳의 여러 정보를 파악할 수 있다.Run("파일명")을 이용해 XShell5를 실행시킨다.win.wait.active("Title",time) 을 사용하면 프로그램 실행시까지 지정한 시간만큼 기다려준다. time.sleep을 통해 설치준비시간 동안 대기하게 한다.Au3Info를 통해 파악한 다음버튼의 정보는 Button1이었다. Send()로 키보드 입력을 통해..
[Beautiful Soup를 이용한 Parsing] Beautiful Soup를 이용해서 네이버,다음의 실시간 검색어를 파싱해보았다. 먼저 네이버를 타겟으로 정하고 소스를 살펴보았다. 코드를 들여다보면 실시간 급상승 검색어 부분의 ol id가 realrank로 되어있는 것을 알 수 있었다.realrank부분만 따로 떼어보기 위해 스프의 find_all메소드를 사용하였다.ol태그의 id부분이 realrank인 부분만을 떼어내는 코드이다.여기서 rank에는 리스트형태로 저장된다. 따라서 for 반복문을 통해 출력했다.떼어내서 보면 실시간 검색어들이 쭉 보인다. 하지만 이런식으로 떼어낸 것은 리스트의 하나의 항목에 불과하다. 다른방법을 사용하기로 했다.소스를 살펴보니 ol이라는 항목은 실시간 검색어 부분에만..
[Point] 사용자 정의 형을 클래스(class)라고 한다. 클래스는 이런식으로 정의한다.새 클래스가 Point이고 내장형인 Object의 일종임을 나타낸다. 바디는 클래스의 용도를 설명하는 주석문자열이다. 클래스 객체는 객체를 만드는 공장과 같은 것이다. 점(Point)를 만들려면 마치 함수인 것처럼 Point를 호출한다.반환값은 Point 객체를 가리키는 참조인데 blank에 대입했다. 새 객체를 만드는 것을 인스턴스화(instantiation)라고 하고, 객체는 클래스의 인스턴스(instance)이다. 인스턴스를 인쇄하면, 파이썬은 속한 클래스와 메모리에 저장된 장소를 알려준다. [Attributes] 점 표기법으로 인스턴스에 값을 대입할 수 있다.변수 blank는 Point 객체를 가리키는데, ..