[한라대학교 공지 알림 봇] 유지보수 2탄
Intro 다시는 이 시리즈에 글 쓸 일이 없길 바랐지만. 짜잔. 그럴리가 없죠. 시작하겠습니다. 유지보수 2탄 사건 설명 사건 개요 알람이 폭팔적으로 와서, '또 제목을 바꾼건가?', '난 잘 고쳤는데?'라는 생각을 했다. 그런데 그게 아니였다. 게시글을 지운것이다. 게시글은 3가지 방식으로 작동된다. 작성,수정,삭제 작성과 수정에 대한 대책은 바로 앞 게시글에서 해결했다. 하지만 삭제를 …
Intro 다시는 이 시리즈에 글 쓸 일이 없길 바랐지만. 짜잔. 그럴리가 없죠. 시작하겠습니다. 유지보수 2탄 사건 설명 사건 개요 알람이 폭팔적으로 와서, '또 제목을 바꾼건가?', '난 잘 고쳤는데?'라는 생각을 했다. 그런데 그게 아니였다. 게시글을 지운것이다. 게시글은 3가지 방식으로 작동된다. 작성,수정,삭제 작성과 수정에 대한 대책은 바로 앞 게시글에서 해결했다. 하지만 삭제를 …
Intro 내가 다시 이 시리즈를 작성할 일은 없을 줄 알았는데... 사건 설명 사건 개요 학교에서 일반공지 게시글의 제목을 바꿨다. 수정 과정 ... new_file.write(posts[0].text) ... elif before !=post.text: ... 지금까지 사용한 코드는 post.text (게시글의 제목)으로 최신 게시글인지 판단했다. 게시한 공지의 제목을 바꾼다는 생각을 하지 못해서이다. 충분히 가능했으나, 에측하지 못해서 에러가 …
제목 : 초콜릿 하트 드래곤 인상 깊은 핵심 문구 뭐 어때? 이 책을 어떻게 읽게 되었는지 완벽한 공부법저자인 신박사님과 고작가님이 추천하길래, 짧은 소설이기도 해서 기분전환겸 서점에 들러 구매했다. 저자 histroy 저자 : 스테파니 버지스 출판년도 : 2019.09 출판사 : (주)로크미디어 줄거리 어린 드래곤인 어벤추린이 원하는 것은 단 하나, 집 밖의 …
Intro Crontab 은 특정 시간에 특정 작업을 해주는 리눅스 스케줄러이다. 주요 명령어 (options) -u crontab -u define user user 사용자에 대해서 크론탭을 수행한다. 생략하면 크론탭 명령을 실행하는 사용자에 대해서 크론탭 수행 -e crontab -e edit user's crontab VIM을 사용하여 크론탭을 편집한다. 수정 후 할일 service crond stop service crond start …
Intro 블로그 첫 프로젝트가 끝났습니다. 다음에 다른 프로젝트로 찾아뵙겠습니다. 한라대학교 공지 알림 봇 제작기를 읽어주신 모든분들께 감사드립니다. 최종 코드 일반 공지_ver # -*- coding: utf-8 -*- ########## 서비스 코드 import requests from bs4 import BeautifulSoup import os import telegram import sys import time BASE_DIR=os.path.dirname(os.path.abspath(__file__)) my_token='봇 토큰' …
Intro서버는 AWS의 Amazon Lunux 2를 사용했다. PuTTY나는 서버에 접속할때 PuTTY를 주로 사용한다. PuTTY는 SSH, Telet 등의 접속방식을 제공한다. PuTTY는 서버에 원격으로 접속하게 도와주는 프로그램이다. 다운로드 위 링크를 통해 다운받을 수 있다. PuTTY 접속 방법 빨간 부분만 잘 설정해주면 잘 접속이 된다. AWS .pem을 .ppk로 변환하는 방법 위에서 puttygen.exe를 클릭한다. Load를 …
Intro 이번 챕터에서는 telegram bot을 활용해서 공지가 생기면 알람이 오도록 구현해보겠다. 지금까지 만든 코드를 실행하면 위 같은 결과가 나온다. 공지를 제외한 1page에 있는 게시글을 전부 크롤링한 모습이다. telegram bot 텔레그램 봇 정리본 위 정리본에 링크 되어 있는 문서를 참고하자. 봇 만들기 BotFather 텔레그램 봇은 BotFather을 통해 만들 수 있다. 만드는 …
Intro 이 글에서는 Requests와 BeautifulSoup를 내 코드에 어떻게 적용시켰는지 알려준다. 웹페이지를 크롤링하기 위핵서는 크롤링할 웹의 주소 웹에서 F12(개발자 도구)를 누르면 나오는 소스 분석 이 두가지가 필요하다. Requests 우선 웹의 주소를 가지고 크롤링할 웹의 데이터를 가져와보자. # -*- coding: utf-8 -*- import requests req=requests.get('http://www.halla.ac.kr/mbs/kr/jsp/board/list.jsp?boardId=23401&mcategoryId=&id=kr_060101000000') html=req.text print(html) # …
OS 모듈은 파이썬을 설치할 때 자동으로 설치되는 파이썬 라이브러리에 포함된다. 그리고 환경 변수나 디렉토리, 파일 등의 OS 자원을 제어할 수 있게 해주는 모듈입니다. 현재 작업 폴더 얻기 os.getcwd()를 사용하여 얻습니다. (get current working directory) print(os.getcwd()) # D:\source\test 디렉토리 변경 os.chdir(path)를 사용합니다. (path는 문자열이어야함.) os.chdir("C:\WINDOWS") print(os.getcwd()) # C:\WINDOWS 시스템 명령어 호출하기 …
아래 링크들이 다 잘되어 있어서 일단 링크로 대체한다. Telegram Bot API 튜토리얼 API는 Telegram Bot API를 참고하면 된다. https://python-telegram-bot.readthedocs.io/en/stable/ 참고문헌
간단한 Requests 예시 r=requests.get('https://api.github.com/user', auth=('user', 'pass')) print(r.status_code) print(r.headers['content-type']) print(r.encoding) print(r.text) print(r.json()) # 403 # application/json; charset=utf-8 # utf-8 # {"message":"Maximum number of login attempts exceeded. Please try again later.","documentation_url":"https://developer.github.com/v3"} # {'message': 'Maximum number of login attempts exceeded. Please try again later.', 'documentation_url': 'https://developer.github.com/v3'} r.status_code 는 .get 부분에 auth=에 …
이 시리즈는 내가 파이썬으로 코딩을 할때 사용한 모듈이나 버그 해결 과정을 나만의 방식으로 정리해 놓는 공간이다. 나는 이런 경험이 있다. 인터넷을 보고 비슷하게, 따라서 코딩을 했지만 해당 모듈이 어떻게 동작하는지 함수에서는 어떤 매개변수를 쓰는지 궁금했다. 그래서 Document를 찾아봤지만, 자세히 안보고 넘기게 되더라. 보통 영어이고, 문서가 엄청 길기 때문에.. 그래서 그냥 …
소개 Beautiful Soup is a Python library for pulling data out of HTML and XML files. It works with your favorite parser to provide idiomatic ways of navigating, searching, and modifying the parse tree. It commonly saves programmers hours or days of work. These instructions illustrate all major features of …
A. 개괄적 도식화 개괄적으로 도식화를 하면 저런 모습이다. 나(client)는 학교 공지사항이 최신화 되면 알람받기를 원한다 위 목적을 해결하기 위해서는 학교 공지사항이 최신화 되면 알람오기를 원한다 (나에게) 위 두가지 사항을 만족시켜야 한다. 그러므로 나는 학교 공지사항이 최신화 되는지 지속적으로 확인하는 부분과 알람을 보내주는 부분을 만들것이다. 때문에 알람을 보내주는 부분은 텔레그램과 카카오톡을 …
A. 개요 17년 말쯤에 학교 근로장학생과 기타 공지를 확인하기 위해서 매일 학교 홈페이지에 들어갔던 기억이 난다. 매일같이 홈페이지에서 공지를 확인하는 일은 상당히 귀찮았다. 그래서 공지가 올라오면 알림을 받아보자 하고 검색을 했다. 다양한 방법이 나왔고, 난 웹 크롤링과 텔레그램으로 새 공지를 실시간으로 받았다. 1. 구글 알리미 2. rss 3. 웹에서 홈페이지가 …