프로그래밍언어/Python

파이썬 웹 크롤링(Python web crawling) 만들기 poetry fastapi uvicorn 실행 드디어 파이썬 가상환경 설정완료 Step 5

by 앵과장 2022. 10. 21. 09:35
반응형

conda 환경부터 시작해서 

github연결 시도 하다가 poetry 가상환경 으로 진행후 연결설정한뒤에 git까지 진행되었습니다.

 

그이후 터미널로 진행하려니 쉽지가 않아서 pycharm CE 설치까지 진행되셨나요?

다시 fastapi가 잘실행되는지 확인해보도록 하겠습니다.

 

해당 Step진행하기 위해서는 4부 부터 진행 하시면됩니다.

https://angryfullstack.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%9B%B9-%ED%81%AC%EB%A1%A4%EB%A7%81Python-web-crawling-%EB%A7%8C%EB%93%A4%EA%B8%B0-poetry-%EA%B0%80%EC%83%81%ED%99%98%EA%B2%BD-%EC%84%A4%EC%A0%95-4%EB%B6%80

 

파이썬 웹 크롤링(Python web crawling) 만들기 poetry 가상환경 설정 4부

파이썬으로 conda 가상환경을 구성하고 fastapi 프레임워크를 기반으로 github에 작업해보려고하니 파이썬은 패키지 구성이나 버전등을 구성할수 있는 스켈레톤형태의 구조가 필요한데 github에 올릴

angryfullstack.tistory.com

 

가상환경에 python 서버 구동을 위해서 uvicorn패키지설치 해주시면 됩니다.

(crawling-py3.10) (base) renzo@renzoui-MacBookPro webcrawling % poetry add uvicorn
Using version ^0.19.0 for uvicorn

Updating dependencies
Resolving dependencies... (0.9s)

Writing lock file

pyproject.toml 파일에 dependencies에 패키지 추가 확인 이후

[tool.poetry]
name = "crawling"
version = "0.0.1"
description = "web crawling"
authors = ["renzo <renzo.1980@jobkorea.co.kr>"]
readme = "README.md"

[tool.poetry.dependencies]
python = "^3.10"
fastapi = "^0.85.1"
requests = "^2.28.1"
beautifulsoup4 = "^4.11.1"
selenium = "^4.5.0"
uvicorn = "^0.19.0"


[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

main.py생성 후 아래 코드를 등록해주세요!!

# main.py
from fastapi import FastAPI # FastAPI 모듈 가져오기
app = FastAPI() # 객체 생성

@app.get("/") # Route Path
def test_index():

    # Json 타입으로 값 반환
    return {
	    "Python": "Framework",
	}

@app.get("/something")
def something():
    return {
        "Something": "Page",
    }

mac 터미널에서 아래 명령어로 uvicorn 실행

(crawling-py3.10) (base) renzo@renzoui-MacBookPro webcrawling % uvicorn main:app --reload --port 8000
INFO:     Will watch for changes in these directories: ['/Users/renzo/workspace/webcrawling']
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [93241] using StatReload
INFO:     Started server process [93243]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     127.0.0.1:56848 - "GET / HTTP/1.1" 200 OK
INFO:     127.0.0.1:56848 - "GET /docs HTTP/1.1" 200 OK
INFO:     127.0.0.1:56848 - "GET /openapi.json HTTP/1.1" 200 OK

로컬에서 브라우저 키고 접근하시면

http://localhost:8000/docs

여기까지 진행이 되셨다면 poetry 환경에 fastapi 로 구동할 파이썬 패키지들이 잘설치되셨고 삽질도 어느정도 진행되셨습니다.

이제 원래 진행하려고했던 웹크롤링을 진행해보도록 하겠습니다.

 

정말 쉽지가 않군여 크롤링 하나만들려고 시작했는데 파이썬 환경설정부터 가상환경 고민 이후 여기까지 오는데거의 1-2일 날라가네요

 

웹크롤링 프로젝트 작업할수 있는 환경이 드디어 구성되었습니다.

꺄하 !!!!!!!!!

 

하지만 아직 웹크롤링 코드는 한줄도 안짰다는 사실 ....

어쩌지 파이썬 함수 만드는것도 모르고 API 호출도 모르는데

아 어디부터 해야되나 ......

다음 장에서는 FastAPI로 웹크롤링 만드는 방법에 대해서 본격적으로 시작해보도록 하겠습니다.