반응형 Development/Python38 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. [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. 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. 파이썬 requests 의 multipart/form-data 활용 FastAPI 로 아래와 같이 코드를 작성 했다.@router.post( "/v1/file", name="Upload File",)def upload_file( name: Annotated[str, Form()], language: Annotated[str, Form()], file: Annotated[UploadFile, Form()]):그리고 이 API 를 호출 하기위해 Test 코드를 작성했는데 아래와 같이 작성을 했다.def test_file_upload(self): file: UploadFile = open("./테스트.txt", "rb") # curl 명령에 필요한 헤더 설정 headers = { "token": "XXXXXXXX", ".. 2024. 6. 27. 파이썬 문법 - 클래스 정의 (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. [Pycharm] Find in Files 검색시 venv 파일 제외 시키기 Pycharm 을 사용할때 가끔 Find in Files 로 검색을 했을때 venv 폴더 하위의 내용까지 검색이 되서 불편함이 있었다. 어떻게 하면 제외 시킬수 있을지 찾다가 방법을 찾았다.먼저 session 이란 키워드로 검색을 해봤다. 이 키워드는 많이 사용되는 키워드 이기 때문에 라이브러리 안에서도 많이 발견이 된다. 정작 내가 직접 작성한 코드에는 어떻게 되어있는지 찾기가 힘들다.우선 첫번째 방법으로 .venv 폴더를 선택한후 나오는 콘텍스트 메뉴에서 Mark Directory As 메뉴로 가서 .venv 를 exclude 해준다.그리고 나서 검색을 해보면 아래와 같이 내가 작성한 파일들에서만 검색이 된다.두번째 방법으로는 Settings > Project > Project Struc.. 2024. 4. 24. [FastAPI] request body의 필수값 존재 여부에 따른 응답 FastAPI 와 Pydantic 을 이용해서 API 작성을 하면서 request body로 들어오는 값의 존재 유무에 따라서 어떻게 세팅 되는지 확인이 필요했다. from typing import Union from fastapi import FastAPI from pydantic import BaseModel app = FastAPI() class Item(BaseModel): name: str price: float is_offer: bool | None = True address: str = "seoul" address1: str | None = None @app.post("/items") def insert_item(item: Item): return item 아주 간단한 API 이다. name.. 2024. 3. 20. 맥(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. 머신러닝 관련 용어 지도학습 회귀(Regression) : 정답이 연속형 변수 분류(Classification) : 정답이 비연속형(범주형) 변수 비지도 학습 군집분석(Clustering) : 주어진 데이터가 어떻게 구성되어있는지. 강화학습(Reinforcement Learning) : 행동에 따른 보상을 최대화 시키는 방법 선형회귀(Linear Regression) 예측값을 직선으로 표현하는 모델 실제 값을 잘 예측하는것을 목표로 한다. Classification 과 Clustering 의 차이 Classification 은 새로운 데이터를 알고있는 레이블에 포함시키는것. 정해진 그룹의 데이터를 파악하여 특징을 찾아 새로운 데이터를 정해진 그룹에 포함시키는것. Clustering 은 데이터의 패턴을 찾아 그룹을 만들어 내.. 2023. 6. 12. 이전 1 2 3 4 다음 728x90 반응형