반응형 Python26 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. [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate OpenAPI 사용하다가 SSL 에러가 발생했다. 구글링을 해서 찾은 방법들을 몇가지 적용해봐도 해결되지는 않았다. 내용들 중에 결론은 request 를 사용시 verify 를 False 로 해야 한다는 것이었다. 그래서 에러 로그를 다시 봤다. Traceback (most recent call last): File "c:\workspace\.venv\Lib\site-packages\httpx\_transports\default.py", line 69, in map_httpcore_exceptions yield File "c:\workspace\.venv\Lib\site-packages\httpx\_transports\default.py", line 233, in handle_request .. 2024. 8. 27. Python 웹 스크래핑 하기 2~3주에 한번씩 책을 20권 이상 빌리다 보니 이미 빌린 책인지 아닌지 확인해야 할 일들이 생겼다. 일반 도서는 상관이 없었는데 잡지 같은 경우 구분하기가 상당히 불편했다. 이유는 대여 목록해 잡지의 정보가 제목만 나왔기 때문이다. 이 잡지가 몇월호인지 확인 해보려면 대출 목록에 들어가서 상세 내용을 확인해봐야만 했다. 그게 귀찮아서 내가 빌린 책을 손쉽게 검색 해보자는 취지에서 웹 스크래핑을 해봤다.아래 코드는 대출 목록페이지에 있는 화면에서 링크를 가져오는 코드이다. def get_file_list_from_site(data_url: str, cookies: dict): # 세션 객체 생성 session = requests.Session() # 인증된 세션으로 데이터 요청 re.. 2024. 8. 20. [Azure] Storage 생성 및 권한 연결 이번에 Azure 의 Storage 를 연결해볼 일이 있어서 실제 생성하고 권한 연결했던 내용들을 정리해 보고자 한다. 도큐먼트가 잘 되어있긴 하지만 GCP나 AWS 에서 사용하던 절차와 달라서(특히 용어가..) 많이 헷갈렸다. 최종 목표는 파이썬 코드로 Azure 에 파일을 업로드 하고 다운로드, 목록 을 가져오는 코드를 만들기 위함이다. 1. 스토리지 계정 생성Azure 에서 우선 스토리지 계정을 생성을 해야 한다. GCP 나 AWS 에서는 바로 Storage 를 생성했던것 같은데 이부분에서 좀 차이가 있었다. 계정 생성시 기억해야 할 항목은 리소스 그룹 이름이다. 마지막에 역할 할당시 다시 나온다. 기본 정보들만 입력을 하고 검토+만들기 버튼을 클릭한다. 검토가 끝나면 만들기 버튼이 나오는데 그.. 2024. 7. 12. python 으로 Azure blob storage 연결 Azure 의 Blob Storage 에 파일을 업로드 하고 목록을 조회하는 코드를 작성해자. 만약 Azure 의 설정관련 내용을 보고 싶다면 다음 글을 참고하면 된다.2024.07.12 - [Development/Cloud] - [Azure] Storage 생성 및 권한 연결import osfrom unittest import TestCasefrom azure.identity import DefaultAzureCredentialfrom azure.storage.blob import BlobServiceClientos.environ["AZURE_CLIENT_ID"] = ''os.environ["AZURE_TENANT_ID"] = ''os.environ["AZURE_CLIENT_SECRET"] = ''cl.. 2024. 7. 12. poetry 설정 및 패키지 추가 1. Poetry 설치 후 환경 변수 추가각각 환경에 따라 다음 내용을 환경 변수에 추가해준다. (참고 : https://python-poetry.org/docs/#installing-with-the-official-installer)$HOME/.local/bin on Unix.%APPDATA%\Python\Scripts on Windows.$POETRY_HOME/bin if $POETRY_HOME is set.또는~/Library/Application Support/pypoetry/venv/bin/poetry on MacOS.~/.local/share/pypoetry/venv/bin/poetry on Linux/Unix.%APPDATA%\pypoetry\venv\Scripts\poetry on Wind.. 2024. 7. 11. 파이썬 문법 - 클래스 정의 (ABCMeta, object) ABCMetaPython에서 클래스를 정의할 때, metaclass=ABCMeta 옵션을 사용하면 해당 클래스를 추상 클래스(abstract class)로 만들 수 있다. 추상 클래스는 일반 클래스와 달리 인스턴스화 될 수 없고, 추상 메서드만을 가질 수 있다.추상 클래스는 ABCMeta라는 내장 클래스를 사용하여 구현된다. ABCMeta는 Python 표준 라이브러리의 abc 모듈에 포함되어 있으며, 추상 클래스 및 추상 메서드를 지원하기 위한 메터 클래스이다. from abc import ABCMeta, abstractmethodclass MyAbstractClass(metaclass=ABCMeta): @abstractmethod def my_abstract_method(self): .. 2024. 5. 30. colab 에서 kaggle 설정 설치 !sudo pip install kaggle Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/ Collecting kaggle Downloading kaggle-1.5.13.tar.gz (63 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.3/63.3 kB 4.4 MB/s eta 0:00:00 Successfully built kaggle Installing collected packages: kaggle Successfully installed kaggle-1.5.13 kaggle api 받기 kaggle 로그인 > profile >.. 2023. 6. 7. 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. Conda python 버전 업데이트 현재 conda 를 사용한 python 가상 환경의 버전은 3.8.2 로 되어있다. 이것을 변경하기 위해서는 다음과 같은 절차를 거친다. 1. 설치 가능한 python 버전 확인 conda search python 위 명령어를 사용하면 설치 가능한 python 버전을 확인 할 수 있다. 2. python 설치 conda install python=버전 3. 가상환경 재접속 가상환경을 deactivate 하고 다시 activate 하면 파이썬 버전이 변경되어있다. 2023. 4. 15. Mac 에서 Conda 설치 Mac 에서 Conda 는 간단히 설치가 가능 하다. . brew install conda .... ## 설치 완료시 anaconda was successfully installed! ➜ ~ conda -V zsh: command not found: conda 설치 완료 후에 실행을 해보면 저렇게 not found 가 나올수 있다. 현재 사용중인 터미널에 path 가 입력이 안되어서 저런 현상이 발생한다. ➜ ~ /usr/local/anaconda3/bin/conda init zsh no change /usr/local/anaconda3/condabin/conda no change /usr/local/anaconda3/bin/conda no change /usr/local/anaconda3/bin/con.. 2023. 4. 5. 이전 1 2 3 다음 728x90 반응형