본문 바로가기
반응형

전체 글566

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.
[내돈내산] 드롱기 스타트 도피오 구매 및 사용기. 집에서 사용중인 반자동 커피머신이 망가져버렸다. 내 블로그에 그 반자동 머신에 대한 글을 쓴 날짜를 보니 2013년 이었다. 10년 넘게 썼으니 이제 바꿀때도 됐다 싶어 무엇을 살지 고민해봤다.필립스 vs 드롱기여기 저기 찾아보니 고가의 머신이 아니고서는 저 2개의 브랜드를 일반적으로 많이 사는것 같았다. 그래서 과연 필립스와 드롱기중 어떤걸 살지 고민해봤다. 의견차이는 있긴 하지만 그래도 드롱기가 더 좋다는 말이 많아서 드롱기에서 모델을 골라보기로 했다. (그래도 결국은 원두가 좋으면 다 맛있다는 의견이 가장 많긴 했다. )제품명모델명특징마그니피카 SKRECAM22.110.B4가지 메뉴 원터치 : 에스프레소, 에스프레소 2샷, 롱커피, 롱커피 2잔자동세척2가지타입 원두분쇄13단계 굵기 조절디나미카KRE.. 2024. 9. 9.
베르나르 베르베르 - 퀸의 대각선 오랜만에 베르나르 베르베르의 책을 읽게 되었다. 올해 들어 소설 장르는 처음 접하는 만큼, 새롭게 시작하는 기분이었다.첫 번째 권을 읽을 때는 솔직히 좀 지루하게 느껴졌다. 두 개의 서로 다른 인물의 이야기들이 번갈아 가며 전개되는데, 이야기가 어떻게 연결되는지 감이 잡히지 않았다. 그리고 체스와의 연관성이 궁금했지만, 그 답을 찾기 어려웠다. 각 인물의 성격과 행동이 책을 읽으면서 점점 명확해지고, 이야기의 전개 방향도 1권이 거의 끝날 무렵에야 감이 잡혔다. 그래서인지, 1권보다 2권을 읽는 데 걸린 시간이 훨씬 적었다.주요 등장인물인 니콜과 모니카는 집단과 개인의 우수성을 각각 대변하며, 체스 대회에서 처음 만난다. 체스의 흑과 백처럼 서로 다른 진영에서 자신의 능력을 발휘하며, 단순한 체스판을 넘.. 2024. 9. 5.
[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.
[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.
파이썬 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.
[VS Code extension] Rest Client API https://marketplace.visualstudio.com/items?itemName=donebd.rest-client-api REST Client Api - Visual Studio MarketplaceExtension for Visual Studio Code - REST Client for Visual Studio Codemarketplace.visualstudio.com Postman 처럼 Rest api 를 호출할수 있게 해주는 툴인데 응답에 대한 내용을 저장해서 사용할수 있어서 최근 자주 사용하고 있다. 기본 사용방법은 도큐먼트에 잘 나와있기 때문에 생략하고 그중에서 내가 자주 사용하는 기능만 기술해보겠다. 변수 할당### Hello World# @name hello-worldGET {{.. 2024. 4. 29.
728x90
반응형