본문 바로가기

전체 글70

[Crawling]_API를 이용하여 웹에서 정보 가져오기 API??????? API는 Application Programming Interface의 줄임말입니다. 프로그램들이 서로 상호작용하는 것을 도와주는 매개체 역할을 합니다. 기상청의 소프트웨어 시스템에서는 일일 기상 데이터가 들어 있습니다. 휴대폰의 날씨 앱은 API를 통해 이 시스템과 '대화'하여 휴대폰에 매일 최신 날씨 정보를 표시합니다.(이 예시는 https://aws.amazon.com/ko/what-is/api/에서 가져왔습니다.) API 방식으로 데이터 수집하기 API방식으로 데이터 수집하는 과정은 우리는 서울열린데이터센터, 공공데이터 포털을 이용할 것입니다. 데이터 수집 전 가장 먼저 할 일은 각 데이터마다 존재하는 '공식 문서'를 보는 것입니다. 공식문서 안에는 API의 응답방식(xml, .. 2023. 8. 7.
[Crawling]_뉴스 타이틀만 가져올 수 있을까? 라이브러리 가져오기 / html 가져오기 ch02.py 파일을 만든 후 다음을 입력하여 라이브러리를 가져옵니다. import requests from bs4 import BeautifulSoup requests는 사람 편의를 생각하여 http요청을 하는 라이브러리입니다. 우선 naver.com으로 해보겠습니다. 먼저 상태코드를 확인합니다. url1= "https://www.naver.com" # 요청 url 변수에 담긴 url의 html 문서를 출력한다. req = requests.get(url1) print(req.status_code) '상태코드 200' 은 서버가 요청을 제대로 처리했다는 의미입니다. 그럼 계속 이어서 하겠습니다. 다음 코드는 웹 페이지의 html을 모두 불러오는 것입니다. 이는 우.. 2023. 8. 6.
[BeautifulSoup]_'아름다운 스프' 아니고 data를 가져오는 것? - find() BeautifulSoup 관련 내용은 다음 Documentation을 참고하였습니다. https://www.crummy.com/software/BeautifulSoup/bs4/doc/ Beautiful Soup Documentation — Beautiful Soup 4.12.0 documentation Beautiful Soup Documentation 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 .. 2023. 8. 6.
[Crawling]_웹 페이지의 데이터를 가지고 올 수 있을까? 컴퓨터 관련 공부를 하기 전에도, 컴퓨터를 유독 많이 좋아하는 친구들의 대화 중에 '크롤링'이란 단어를 들은 기억이 납니다. 저는 수영을 좋아해서 "수영할 때 자유형 얘기하는거야?"라며 장난식으로 대화에 껴들었지만 금방 대화에 흥미를 잃었던 기억이 나네요. ㅎㅎ 드디어 그 대화 속 크롤링(crawling)에 대해 공부해봅니다. chat GPT에게 물어봤습니다. 더보기 크롤링(crawling)은 웹 페이지나 웹 사이트에서 정보를 수집하는 과정을 말합니다. 일반적으로 인터넷에 있는 다양한 웹 페이지를 자동으로 탐색하면서 원하는 데이터를 추출하는 작업을 의미합니다. 크롤링은 웹 크롤러(웹 스파이더, 웹 로봇 등으로도 불림)라는 프로그램을 사용하여 수행됩니다. 크롤링 과정은 다음과 같이 이루어집니다: 웹 페이지.. 2023. 8. 4.
[Django]_엑셀 계산 사이트 만들기 (6) result, loginFail 페이지 만들기, 그리고 번외(django에서 누가 봐도 깔끔하게 자료 만들기) 이 프로젝트도 마찬가지로 책 'Django 한 그릇 뚝딱'의 Chapter 4을 보며 실행해보았습니다. 책의 저자님께 다시 한 번 감사말씀 드립니다. Result 페이지 만들기 이메일도, 메인도 모두 세션에 담겠습니다. 또한 Pandas와 Django 데이터 타입이 조금 다릅니다. 그래서 우리는 Pandas의 데이터 타입을 기본 데이터 타입으로 변환해야 합니다. ExcelCalculate > calculate > views.py로 이동하여 calculate 함수에 다음 코드를 추가합니다. # pandas django데이터 타입이 조금 다름 grade_calculate_dic_to_session = {} for key in grade_list: grade_calculate_dic_to_session[int.. 2023. 8. 3.
[Django]_엑셀 계산 사이트 만들기 (5) 파일 업로드 및 분석 이 프로젝트도 마찬가지로 책 'Django 한 그릇 뚝딱'의 Chapter 4을 보며 실행해보았습니다. 책의 저자님께 다시 한 번 감사말씀 드립니다. 오늘은 드디어 파일을 업로드하고 읽어보겠습니다. 파일 업로드하기 우리에게 필요한 프로세스는 파일 업로드 / 계산 / 결과 화면 보여주기 가 있습니다. ExcelCalculate > main > templates > main > index.html 로 이동합니다. 41번째 줄을 다음과 같이 수정합니다. ExcelCalculate > ExcelCalculate > urls.py 로 이동하여 path를 추가해야 하지만 편의상 우리는 이미 했습니다. 흐름을 파악하기 위해 그래도 확인하고 갑시다. ExcelCalculate > calculate > urls.py 에.. 2023. 8. 2.
[Django]_엑셀 계산 사이트 만들기 (4) 로그인 여부 확인, 로그아웃 이 프로젝트도 마찬가지로 책 'Django 한 그릇 뚝딱'의 Chapter 4을 보며 실행해보았습니다. 책의 저자님께 다시 한 번 감사말씀 드립니다. 오늘은 세션(session)을 이용할 것입니다. 오늘의 작업을 하기 전에 환경 설정을 확인합니다. 환경 설정 확인하기 ExcelCalculate > settings.py로 이동합니다. 다음 표시된 것이 있으면 됩니다. 없으면 추가해주세요. 세션에 user 정보 저장하기 ExcelCalculate > main > views.py 로 이동합니다. 쿠키를 통해 user 정보를 저장하던 방식을 세션에 user 정보를 저장하는 방식으로 바꿔줍니다. 입력했던 response.set_cookie('user', user)는 주석처리하고, 그 아래 두 줄 입력합니다. # .. 2023. 8. 2.
[Django]_엑셀 계산 사이트 만들기 (3) 이메일 인증 회원가입 하기 이 프로젝트도 마찬가지로 책 'Django 한 그릇 뚝딱'의 Chapter 4을 보며 실행해보았습니다. 책의 저자님께 다시 한 번 감사말씀 드립니다. 지난 시간에 이어 진행하겠습니다. 인증 코드 발송하기 로그인 과정이므로 main에서 인증하는 것을 만들어야 합니다. 그리고 이러한 로직 처리는 views.py에서 설정을 합니다. 인증코드 함수는 join함수로 진행합니다. 로직을 생각해볼까요? 인증 코드 는 무작위로 생성하여 사용자에게 보냄 사용자에게 보낸(즉, 서버가 보낸) 인증 코드 == 사용자가 입력한 코드 : 가입 성공 사용자에게 보낸(즉, 서버가 보낸) 인증 코드 != 사용자가 입력한 코드 : 계속 같은 화면 보여주기 코드 보낼 때는 인증 코드, 이름, 이메일 , 기타 정보도 다 보내야 함. 무작위.. 2023. 8. 2.
[Django]_엑셀 계산 사이트 만들기 (2) 회원가입 하기 이 프로젝트도 마찬가지로 책 'Django 한 그릇 뚝딱'의 Chapter 4을 보며 실행해보았습니다. 책의 저자님께 다시 한 번 감사말씀 드립니다. 이메일 인증으로 회원가입 하기 컴퓨터 혹은 모바일을 통해서 사이트에 회원가입을 한 경험은 아마 다수가 가지고 있을 것입니다. 우리는 철저히 사용자의 입장이었지요. 그럼 개발자 입장에서 회원가입하는 프로세스를 생각해볼까요? 다양한 인증 방법 중에서 우리는 이메일 인증 방법에 대해서 생각해 보겠습니다. user(사용자)가 회원 가입 화면에 개인 정보를 입력, '회원 가입하기' 버튼 클릭 입력한 정보로 user 데이터 모델 추가 및 데이터베이스에 저장, 인증되지 않은 user로 등록 사용자가 입력한 이메일로 인증 코드 발송 발송된 인증 코드는 user이름과 함께.. 2023. 8. 2.
[Django]_엑셀 계산 사이트 만들기 (1) app의 웹 사이트, admin 화면 만들기 이 프로젝트도 마찬가지로 책 'Django 한 그릇 뚝딱'의 Chapter 4을 보며 실행해보았습니다. 책의 저자님께 다시 한 번 감사말씀 드립니다. 이번 프로젝트에서는 이전 프로젝트에서 한 것에 더하여 로그인 및 회원 가입을 추가로 구현할 것입니다. 가상 환경 접속 및 라이브러리 설치 먼저 작업할 폴더를 만들고 가상 환경으로 들어가 주세요. 저는 Excelcalculator 라는 폴더에서 작업합니다. mkdir Excelcalculator cd Excelcalculator/ virtualenv venv source venv/Scripts/activate requirements.txt를 생성하고, 다음을 입력한 후 저장합니다. terminal에 다음 명령어를 입력하여 라이브러리를 설치합니다. pip in.. 2023. 8. 1.
반응형