파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. # app 폴더 아래 main.py @app.post("/collect", response_class=HTMLResponse) async def collect(request: Request): brandlist = BrandList() brands = await brandlist.run() oy_models = [] for brand in brands: oy_model = BrandListModel( code=brand["code"], brand=brand["brand"], collection_time=brand["time"], status=brand["status"], ) oy_models.append(oy_model) await mongodb.engine.save_all(oy_models) return templates.TemplateResponse( "./index.html", {"request": request, "title": "수집기", "brands": brands}, ) # app 폴더 아래 spcrper.py class BrandList: URL = "https://www.#######.co.kr" def unit_url(self): url = f"{self.URL}/store/main/getBrandList.do" return url async def fetch(self): async with aiohttp.ClientSession() as session: async with session.get(self.unit_url()) as response: soup = BeautifulSoup(await response.text(), "html.parser") area_info = soup.select("a[data-ref-onlbrndcd]") branddics = [] for info in area_info: code = info["data-ref-onlbrndcd"] name = info.text collectiontime = date.today() item = [i["code"] for i in branddics] if code in item: pass else: branddic = { "code": f"{code}", "brand": f"{name}", "time": f"{collectiontime}", "status": "Old", } branddics.append(branddic) await session.close() return branddics def run(self): return asyncio.run(self.fetch()) 안녕하세요. 강사님. scraper.py 는 terminal에서 값을 잘 가져오고 있습니다. server.py 에서 구동 시, 아래와 같은 error가 나오는데 원인을 찾지 못해서요 ㅠ RuntimeError: asyncio.run() cannot be called from a running event loop C:\Users\user\Desktop\Project_Scraper\venv\Lib\site-packages\uvicorn\protocols\http\httptools_impl.py 👎 RuntimeWarning: coroutine 'BrandList.fetch' was never awaited RuntimeWarning: Enable tracemalloc to get the object allocation traceback 코드 리뷰 좀 부탁드리겠습니다.
선생님 저는 왜 false/true 값으로만 나올까요? 수업 자료 코드에 있던거 그대로 실행 했는데도.. display(c_train.head()) c_train = pd.get_dummies(c_train[cols]) c_test = pd.get_dummies(c_test[cols]) display(c_train.head())
특정 탭에 진입할 수 있어야 합니다. 이렇게 초반에 탭이 3개가 있는 프로세스가 있는 경우 현재는 test2라는 탭이 활성화 되어있습니다. 저는 test라는 탭을 편집하여야하는데 test2를 종료 하더라도 test 탭으로 정확히 이동이 안되는데 혹여 특정 탭에 접근이 가능한 방법이 있을까요? 우선 현재 띄워져 있는 창의 탭 이름을 가져오는 것에는 성공을 하였습니다. from pyhwpx import Hwp hwp = Hwp() documents = hwp.XHwpDocuments for i in range(documents.Count): doc = documents.Item(i) doc_name = doc.FullName if doc.FullName else "저장되지 않은 문서" print(f"문서 {i}: {doc_name}") if 'test.hwpx' in doc_name: selected_doc = doc selected_num = i break if 'selected_doc' in locals(): # 해당하는 문서가 탭에 존재하면 해당 문서를 편집할 수 있게 선택 만약 탭이름을 활용해서 선택하는 방법이 없다면 hwp.Run ("WindowNextTab")을 통하여 현재 탭의 이름과 하나하나 비교하여 일치하는 경우까지 이동하게 하는 방식이 나을지 아니면 탭에 접근하는 방법이 있을지 질문드립니다.
예시는 9번문제로 질문을 하지만 9번문제 뿐만아니라 다른 문제를 풀이하는데 있어서 괄호 사용이 헷갈려서 질문드립니다. 대충 대괄호하나는 시리즈로 불러오는거고 대괄호 2개는 데이터프레임으로 불러오는걸로 알고있었습니다. 그런데 문제를 풀면서 왜 groupby함수나 sort_values함수를 포함한 기타 다른경우에 소괄호안에 대괄호없이 컬럼명만 사용해도 되는지 궁금합니다. 컬럼명을 쓸때 대괄호를 써야할때와 필요없을때의 구분을 어떻게 해야할까요? import pandas as pd df = pd.read_csv('/content/drive/MyDrive/Colab Notebooks/members.csv') df['subscribed'] = pd.to_datetime(df['subscribed']) df['year'] = df['subscribed'].dt.year df['month'] = df['subscribed'].dt.month df['day'] = df['subscribed'].dt.day df = df.groupby('month').count() df.sort_values('subscribed').index[0]
안녕하세요, wsl을 이용한 linux설치 강의를 따라하고 있었는데 시작버튼을 눌러 powershell 을 검색하면 windows powershell ISE 만 나오고 windows powershell 은 나오지 않습니다. 별도의 windows powershell 설치가 필요할까요? 구글링을 해봐도 아직 방법을 못찾았기에 질문드립니다. 어떻게 진행하면 될까요 ?
안녕하세요! 작업형2의 데이터 전처리 스케일링 관련하여 문의사항이 있어 질문 남깁니다. 카테고리형 데이터의 경우, 라벨 인코딩, 원-핫 인코딩을 사용하고, 숫자형인 경우, 표준화, 정규화를 사용하는 것 같은데, 각각의 기법을 언제 사용하는지 궁금합니다! 데이터 타입별 기법들의 차이는 이해했는데, 어떤 경우에 어떤 기법을 선택해서 사용해야 하는지 문의드립니다. 감사합니다.
[작업형2] 3-5 Classification 에서 랜덤포레스트 따라서 하고 있는데요, 한번에 쭉 따라할때는 에러없이 실행되다가 집에와서 다음부터 이어서 들으려고 파일 업로드하고 이전 셀 실행 하니깐 에러가 뜹니다.. 왜그럴까요.. 에러 내용은 갯수가 안맞다고 하는데 왜 안맞는걸까요....?
수업 내용 중 RandomForestRegressor를 사용한 경우 regressor = RandomForestRegressor()로 정의하셨는데, 뒷문장들은 model.fit (X_tr,y_tr) pred =model.predict(X_val)로 들어가있어요. 오타가 맞는걸까요? regressor로 정의했기 때문에 regressor.fit (X_tr,y_tr) pred =regressor.predict(X_val)이 맞는거죠?
이제 막 2유형 공부중인데, 궁금한점이 있습니다. 2유형의 경우에는 답이 없는 문제인 것 같은데, 시험에서 요구하는 제출형식(인덱스 제거, 파일명 맞추기 등)에서 감점되는 것 외에 감점요소가 있을까요? 2유형 만점을 목표로 하고 있는데, 최소로 확보해야하는 성능이라던지의 최소치? 등이 있는 문제인지가 궁금합니다!