728x90

분류 전체보기 28

[인공지능 데브코스 TIL] 0830 웹 스크래핑 기초 (3): Selenium

프로그래머스 인공지능 데브코스 2주차 강의를 정리한 글입니다. 동적 웹 페이지 정적 웹 사이트: HTML 내용이 고정 동적 웹 사이트: HTML 내용이 변함 ex) 피드를 새로고침할 때마다 새로운 글이 올라오는 것 응답이 된 후 렌더링이 될 때 까지의 지연시간 존재 → request 이후 바로 parsing을 하면 안될 수 있다 -데이터 처리가 완전히 되지 않은 상태에서 request하면 불완전한 데이터 받을 수 있다. → 임의로 시간을 지연한 후 데이터 처리가 끝난 후 정보를 가져오는 비동기처리가 필요하다. → 키보드 입력, 마우스 클릭 등을 할 수 있도록 웹 브라우저를 파이썬으로 조작하는 Selenium활용! Selenium Selenum: 웹 브라우저를 조작하는 라이브러리 WebDriver: 웹 브..

[인공지능 데브코스 TIL] 0829 웹 스크래핑 기초 (2): BeautifulSoup4

프로그래머스 인공지능 데브코스 2주차 강의를 정리한 글입니다. DOM (Document Object Model) 웹 문서 (html)를 로드한 후, 파싱을 진행한 문서를 DOM이라고 한다. 각 노드를 객체로 생각하면 문서를 더욱 편리하게 관리할 수 있다 브라우저가 HTML을 DOM으로 바꾸는 이유 원하는 요소를 동적으로 변경해줄 수 있다. 원하는 요소를 쉽게 찾을 수 있다. → 우리는 파이썬으로 html을 파싱해줄 수 있는 HTML parser가 필요하다! Beautiful Soup HTML 코드를 분석해주는 HTML parser import requests res = requests.get("http://www.example.com") # Beautiful Soup 불러오기 from bs4 import..

[인공지능 데브코스 TIL] 0828 웹 스크래핑 기초 (1): HTTP 요청 주고받기

프로그래머스 인공지능 데브코스 2주차 강의를 정리한 글입니다. HTTP HTTP(HyperText Transfer Protocol): 웹 상에서 정보를 주고받기 위한 약속 HTTP 요청(request): 클라이언트가 서버에게 정보 요청 HTTP 응답(response): 서버가 클라이언트에게 응답 HTML HTML(HyperText Markup Language) 태그로 감싼 요소의 집합으로 이루어져 있다. → 우리가 원하는 내용이 HTML 문서에 어디에 있는지, 어떤 태그로 묶여있는지를 관찰해야한다. Head: 문서에 대한 정보(제목, 언어 등) Body: 문서의 내용(글, 이미지, 동영상 등) 웹 스크래핑과 웹 크롤링 웹 스크래핑: 특정한 목적으로 특정한 웹 페이지들로부터 원하는 정보를 추출하는 것 ex..

파이썬을 무기로, 코딩테스트 광탈을 면하자! 정리 (2)

프로그래머스의 파이썬을 무기로, 코딩테스트 광탈을 면하자!강의 5-7강을 정리한 글입니다. 5. 힙(Heap) 대표 문제 풀이: 더 맵게 문제: 더 맵게 최소, 최대 원소를 빠르게 꺼낼 수 있는 자료구조 → 힙! 복잡도: O(nlogn) import heapq def solution(scoville, K): answer = 0 heapq.heapify(scoville) while True: min1 = heapq.heappop(scoville) if min1 >= K: break elif len(scoville) == 0: answer = -1 break min2 = heapq.heappop(scoville) new_scoville = min1 + min2 * 2 heapq.heappush(scovill..

파이썬을 무기로, 코딩테스트 광탈을 면하자! 정리 (1)

프로그래머스의 파이썬을 무기로, 코딩테스트 광탈을 면하자! 강의 1-4강을 정리한 글입니다. 1. 해시(Hash) 대표 문제 풀이: 완주하지 못한 선수 문제: 완주하지 못한 선수 동명이인이 나올 수 있다 → 이름이 몇 번 나왔는지 알 수 있는 자료구조가 필요 문자열로 접근할 수 있는 자료구조: 해시! 파이썬에서 해시는 딕셔너리로 구현됨 풀이1: 해시 해시로 이름과 등장 횟수를 세고, 다 돌은 후 value가 0이 아닌 key를 리턴한다. 복잡도: O(n) def solution(participant, completion): d = {} for x in participant: d[x] = d.get(x,0) + 1 #dictionary에 x가 있으면 그 값을 리턴하고, 없으면 0 리턴하고 1 더함 for ..

어서와! 자료구조와 알고리즘은 처음이지? 정리 (2)

프로그래머스의 어서와! 자료구조와 알고리즘은 처음이지? 11-23강을 정리한 글입니다. 11-13강: 스택, 수식의 후위 표기법 스택: 원소를 한 쪽에서 밀어넣고, 같은 쪽에서 뽑아야 하는 자료구조 infix → postfix 변환하기 14-16강: 큐, 환형 큐, 우선순위 큐 큐: 원소를 한 쪽에서 밀어 넣고, 다른 쪽에서 뽑는 자료구조 환형 큐 기본 구현 class CircularQueue: def __init(self,n): self.maxCount = n self.data = [None]*n self.count = 0 self.front = -1 self.rear = -1 우선순위 큐: 우선순위에 따라 원소들이 꺼내지는 큐 17-19강: 트리, DFS, BFS 트리: node와 edge를 통해 데..

어서와! 자료구조와 알고리즘은 처음이지? 정리 (1)

프로그래머스의 어서와! 자료구조와 알고리즘은 처음이지? 2-10강을 정리한 글입니다. 2강 선형배열 리스트의 연산: append , pop , del , index , insert 3강 정렬, 탐색 정렬 sorted(), .sort() sorted는 함수, sort는 리스트의 메서드 reverse = True로 정렬 순서 뒤집기 lambda 함수를 통한 정렬: key = lambda x: len(x) 탐색 선형탐색 이진탐색 탐색하려는 리스트가 이미 정렬되어 있는 경우에만 4-5강 재귀 알고리즘 종결 조건을 잘 설정해야 한다! 활용: 이진탐색, 팩토리얼, 피보나치 계속 함수를 호출하기 때문에 효율성이 떨어진다. 6강 알고리즘의 복잡도 시간복잡도, 공간복잡도 7-9강 연결리스트(Linked List) 추상적..

[후기] 혼자 공부하는 데이터분석 with 파이썬

학회 데이터분석팀에서 책을 완독했다! 파이썬으로 데이터분석을 공부할 수 있는 책을 찾다가 이 책을 선정했었다. http://www.yes24.com/Product/Goods/116253011 혼자 공부하는 데이터 분석 with 파이썬 - YES24 혼자 해도 충분하다! 1:1 과외하듯 배우는 데이터 분석 자습서이 책은 독학으로 데이터 분석을 배우는 입문자가 ‘꼭 필요한 내용을 제대로 학습’할 수 있도록 구성했습니다. 뭘 모르는지조차 www.yes24.com [난이도] 입문자에게 아주 적절한 난이도인 것 같고, 어느정도 지식이 있다면 아예 몇일동안 집중해서 빠르게 훑는 게 더 효율적일 것 같다. 기억을 되살리고 그동안 뒤죽박죽 정리되어있던 지식을 정리하기에 좋았다. [책 구성] 웹 크롤링을 통해 얻은 데이..

후기 2023.03.25
728x90