본문 바로가기
반응형

파이썬33

Python 웹 스크래핑 하기2 2024.08.20 - [Development/Python] - Python 웹 스크래핑 하기 Python 웹 스크래핑 하기2~3주에 한번씩 책을 20권 이상 빌리다 보니 이미 빌린 책인지 아닌지 확인해야 할 일들이 생겼다. 일반 도서는 상관이 없었는데 잡지 같은 경우 구분하기가 상당히 불편했다. 이유는 대여 목록해blusky10.tistory.com 기존 글에 이어서 웹 스크래핑 한 정보를 다시 한번 더 가공해보려고 한다. 우선 먼저 글에서는 스크래핑을 통해서 url 을 추출했다. 이번에는 추출한 url 웹페이지에 있는 정보를 가져와보려고 한다. def get_book_info_from_url(url:str) : detail_response = requests.get(u.. 2024. 10. 17.
Python 웹 스크래핑 하기 2~3주에 한번씩 책을 20권 이상 빌리다 보니 이미 빌린 책인지 아닌지 확인해야 할 일들이 생겼다. 일반 도서는 상관이 없었는데 잡지 같은 경우 구분하기가 상당히 불편했다. 이유는 대여 목록해 잡지의 정보가 제목만 나왔기 때문이다. 이 잡지가 몇월호인지 확인 해보려면 대출 목록에 들어가서 상세 내용을 확인해봐야만 했다. 그게 귀찮아서 내가 빌린 책을 손쉽게 검색 해보자는 취지에서 웹 스크래핑을 해봤다.아래 코드는 대출 목록페이지에 있는 화면에서 링크를 가져오는 코드이다. def get_file_list_from_site(data_url: str, cookies: dict): # 세션 객체 생성 session = requests.Session() # 인증된 세션으로 데이터 요청 re.. 2024. 8. 20.
[Python] Blob Storage 에 Connection String 으로 연결하기 2024.07.12 - [Development/Cloud] - [Azure] Storage 생성 및 권한 연결Azure Blob Stroage 에 접근하기 위한 두번째로는 엑세스 키로 접근하는 방법이 있다. 이 방법은 먼저 설명한 방법보다는 간단하다. 스토리지 계정에 들어가보면 보안 + 네트워킹 메뉴에 액세스 키 라는 메뉴가 있다.화면에 보이는 연결 문자열의 값을 가지고 BlobServiceClient 를 생성할 수 있다.connection_string = ""blob_service_client = BlobServiceClient.from_connection_string(connection_string)container_client = blob_service_client.get_container_clie.. 2024. 8. 1.
맥(Mac)에서 아나콘다(Anaconda) 제거하기 1. 아나콘다 설치 경로 확인하기 ➜ ~ conda info active environment : None shell level : 0 user config file : /Users/sanghyunkim/.condarc populated config files : conda version : 23.3.1 conda-build version : 3.23.3 python version : 3.10.10.final.0 virtual packages : __archspec=1=x86_64 __osx=10.16=0 __unix=0=0 base environment : /usr/local/anaconda3 (writable) conda av data dir : /usr/local/anaconda3/etc/conda.. 2023. 8. 11.
Pandas 사용 시리즈(Series) 데이터가 순차적으로 나열된 1차원 배열 형태 딕셔터리로 Series 생성시 -> key 는 시리즈의 인덱스와 대응된다. 리스트로 Series 생성시 -> 리스트의 인덱스가 시리즈의 인덱스로 대응된다. dict_data = {'a':1,'b':2,'c':3} series_data=pd.Series(dict_data) a 1 b 2 c 3 list_data = ['2022-10-11',3.14,'ABC',100,True] series_data1=pd.Series(list_data) 0 2022-10-11 1 3.14 2 ABC 3 100 4 True 데이터프레임(DataFrame) 행과 열로 만들어지는 2차원 배열 형태 열은 각각의 시리즈 객체이다. key 값이 열 이름이 된다. dic.. 2023. 5. 23.
NumPy 사용 NumPy 배열 차원(Dimension)을 축(axis)이라고 표현한다. 배열 속성값 shape : 배열의 각 축(axis)의 크기 ndim : 축의 개수(Dimension) dtype : 각 요소(Element)의 타입 itemsize : 각 요소(Element)의 타입의 bytes 크기 size : 전체 요소(Element)의 개수 배열 생성 np.array 이용 : 튜플이나 List 입력 print(np.array([2,3,4])) [2 3 4] np.zeros(shape) : 0 으로 구성된 N 차원 배열 생성 print(np.zeros((3,4))) [[0. 0. 0. 0.] [0. 0. 0. 0.] [0. 0. 0. 0.]] np.ones(shape) : 1로 구성된 N차원 배열 생성 prin.. 2023. 5. 9.
파이썬 가상 환경 실행 및 VS Code 설정 파이썬 가상 환경 실행 방법 python -m venv 디렉토리명 python 3 부터는 venv 가 포함되어있어서 virtualenv 를 설치 하지 않아도 된다. 위와 같이 실행을 하면 입력한 폴더가 생성이 된다. 가상환경 실행은 폴더 하위에 Script 디렉토리에 있는 activate 를 실행 하면 된다. (mac 인 경우 source ./bin/activate 를 실행한다.) VS Code 설정 방법 - Ctrl + Shift + P 입력 (cmd + Shift + P) - 가상 환경 선택 또는 새로운 path 선택 (새로운 path 선택시 위에서 생성된 bin 디렉토리 또는 Script 디렉토리에 있는 python 을 선택하면 된다) 2023. 3. 27.
파이썬 문법 : 데코레이터 함수 함수의 앞 뒤 부가적인 기능을 넣어주고 싶을때 사용한다 클로저를 사용해서 구현한다. 데코레이터는 @를 함수위에 적용하여 사용한다 def logger(func): def wrapper(): print("함수시작") func() print("함수종료") return wrapper @logger def print_hi(): print("hi") print_hi() # OUTPUT 함수시작 hi 함수종료 매개변수 전달 @logger def print_hi(name): print(name, 'hi') print_hi("tom") # OUTPUT print_hi("tom") TypeError: logger..wrapper() takes 0 positional arguments but 1 was given 위와 같이.. 2023. 3. 13.
파이썬 문법 : 제너레이터 함수 이터러블 객체 순서가 있는 자료형 문자열, 리스트, 튜플, 딕셔너리, range 객체 __iter__(), __next__() 메소드가 정의되어있다. 제너레이터 함수 이터레이터를 만드는 함수이다. yield 사용한다 제너레이터 표현식을 사용해서 만들 수 있다. 메모리 사용이 효율적이다. List 같은 경우 결과 값을 메모리에 저장한다. 제너레이터의 경우 식만 저장할뿐 값을 저장 하지 않는다. __next__ 함수가 호출 될 때에 결과값을 만든다 # yield 사용 def gen_func(*args): for arg in args: yield arg month = gen_func('1월', '2월', '3월', '4월') print(month.__next__()) # 1월 print(month.__next.. 2023. 3. 9.
파이썬 문법 : 내부 함수, 클로저 내부함수 함수 안에서 정의 되는 함수 클로저(closure) 함수가 종료되어도 자원을 사용할 수 있는 함수 클로저 조건 내부함수 외부함수 변수를 참조해야 한다. 외부함수가 내부함수를 반환 해야 한다. def outer(name):# 외부함수 def inner():# 내부함수 print(name, "하이")# 외부함수 변수 참조 return inner# 내부함수 반환 callfunc = outer("tom") callfunc() # OUTPUT tom 하이 클로저 살펴보기 print(dir(callfunc)) # ['__annotations__', '__builtins__', '__call__', '__class__', '__closure__', '__code__', '__defaults__', '__de.. 2023. 3. 6.
파이썬 문법 : class 속성들 인스턴스 속성 객체마다 다르게 갖고 있는 속성 코드에서 self 로 표기된 속성들이 인스턴스 속성이다. 클래스 속성 모든 객체가 공유하는 속성 count 가 클래스 속성 접근시에는 클래스이름.속성 으로 접근 (ex : Unit.count) 비공개 속성 클래스 안에서만 접근 가능한 속성 __hidden 이 비공개 속성이다. 외부에서 변경시 Unit.__hidden 으로는 접근이 불가능 하다 네이밍 맹글링에 의해서 접근은 가능하다 (unit1._Unit__hidden) class Unit: count = 0 def __init__(self, name, weight, height, hidden): self.name=name self.weight=weight self.height=height self.__hid.. 2023. 3. 2.
파이썬 문법 : map, filter 함수 map 함수 map(함수, 순서가 있는 자료형) map 의 결과는 map object 이기 때문에 사용하기 편한 list 형태로 변환한다. def remove_blank(x): return x.strip() items=[' mouse', ' monitor '] items=list(map(remove_blank, items)) print(items) # output # ['mouse', 'monitor'] # 람다함수로 표기할 경우 items=list(map(lambda x:x.strip(), items)) filter 함수 filter(함수, 순서가 있는 자료형) def func(x): return x < 0 print(list(filter(func, [-3, 0, 2, 7, -7]))) # output.. 2023. 2. 28.
728x90
반응형