본문 바로가기

반응형

Python

(23)
Pydantic 실무에서 내가 너무 모르고 쓰고 있는 것 같아서 pydantic 문서를 자세히 읽어보기로 했다. FastAPI 프레임워크에서 pydantic은 Data Validation을 위해 사용한다. 백엔드에서 Data Validation이 필요한 이유는 다음 문서를 참고했다. Backend Data Validations and Why You Need Them Backend Data Validations and Why You Need Them You never know how someone might manipulate your front-end code betterprogramming.pub Backend Validations Irrespective of front end technology and framewo..
[unix time] time, datetime, string 변환 방법 유닉스 시간 (unix time)- 유닉스 계열의 운영체제를 사용하는 컴퓨터에서 시간을 표시하는 방법- 1970년 1월 1일 0시 0분 0초 UTC 에서부터 몇 초나 지났는지를 표시한다. [출처] 나무위키: https://namu.wiki/w/%EC%9C%A0%EB%8B%89%EC%8A%A4%20%EC%8B%9C%EA%B0%84위키백과: https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%89%EC%8A%A4_%EC%8B%9C%EA%B0%84 time, datetime, string 변환 방법 1. string to datetimedate_string = "2018-03-05 00:12:00"datetime.datetime.strptime(date_string, '%Y-%m..
[python] dataframe 모든 column, row 보기 with pd.option_context('display.max_rows', None, 'display.max_columns', 3): print(df)pd.set_option('display.max_rows', None)
크롤링(Crawling)_05 (부분 문자열 매칭) 부분 문자열 매칭 ^ 문자열의 시작 $ 문자열의 끝 * 문자열의 부분 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117..
크롤링(Crawling)_04 (함수) 예제 #1. 기사 제목 크롤링 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 def title_matcher(tag): return tag.name == 'h3' def get_news_title(url): res = requests.get(url) html = res.text soup = BeautifulSoup(html, 'html5lib') h3 = soup.find(lambda x : x.name == 'h3') # h3 = soup.find(title_matcher) # h3 = soup.find('h3') return h3.get_text() print(get_news_title('http://media.daum.net/digital/newsview?ne..
크롤링(Crawling)_03 (HTML page crawling 실습) HTML page crawling 실습 - 순서 1. browser로 크롤링 대상 사이트 접속 2. 원하는 data 확인 3. [개발자도구]를 이용하여 request 방식, URL, data의 위치(태그) 확인 4. request 모듈로 request 전송 및 response 처리 ** urllib, urllib2 등 여럿이 존재하지만 여기서는 requests 사용 5. BeautifulSoup 모듈로 response parsing하여 원하는 data 부분을 추출 BeautifulSoup을 이용하여 tag 검색하기 - html 태그를 여러 조건 (class, id 혹은 기타 정보 등)을 이용하여 추출 * find/fild_all 함수 : 태그 검색 조건을 명시하여 태그 (전체) 검색 find - 가장 먼..
크롤링(Crawling)_02 (API를 이용한 크롤링) API(Application Programming Interface) - 특정 프로그램을 만들기 위해 제공되는 모듈(함수 등)을 의미 - WEB에서 사용될 때는 보통 WEB API로 지칭 - 일반적으로 XML, JSON의 형태도 응답을 전달 (원하는 데이터 추출이 수월) *** 코드 200 : 정상 404 : 페이지 요청 오류 403 : 권한없음 500 : 서버에러 Daum API - https://developers.daum.net/console - [웹 검색 가이드 문서] https://developers.daum.net/services/apis/search/web 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import requests from bs4 import..
크롤링(Crawling)_01 (WEB, HTTP, Crawling의 개념) WWW (World Wide Web) - 도큐먼트(페이지)가 URL로 구별되며, 각 도큐먼트는 다른 도큐먼트의 링크(hypertext)를 갖는 인터넷 상의 공간 - 개념적으로 전 세계의 컴퓨터가 모두 연결되어 접근 가능한 상태의 공간이라 보면 됨 - [참고] https://ko.wikipedia.org/wiki/%EC%9B%94%EB%93%9C%EC%99%80%EC%9D%B4%EB%93%9C%EC%9B%B9 HTTP (HyperText Transport Protocol) - WWW(웹)상에서 문서 전송을 위한 통신규약(protocol) - request(요청) / response(응답) 으로 구성 * browser(클라이언트)가 request(요청)하면 web server(서버)가 HTML 이나 다른 자..