[Python] 스크래핑 과정 최적화를 위한 시도
·
Study/Python
동적 웹을 스크래핑하는 과정은 필수적으로 JS 렌더링이 필요하기 때문에 그 부하가 크고 시간이 오래 걸린다. 이전에 Selenium을 썼지만 이 녀석, 너무 느리다. 내 아마존 프리티어 VM이 감당하기엔 너무 큰 짐이 아니었나 싶기도 하다. 그래서 아래와 같은 방법들을 모색해 봤다. 1. 클라우드 변경 조금 더 속도가 빠른 클라우드를 찾기 위해 구글링을 거듭했다. 약간의 돈이라면 지불할 용의도 있었다. 그러다 문득 뇌리에 스친 Oracle Cloud. 1개의 OCPU를 제공한다는 뜻은 2개의 스레드를 돌릴 수 있다는 뜻이다. 일정 사용량을 초과하지만 않으면 평생 무료이기도 하니 이것으로 낙점. 한 달짜리 무료 크레딧도 받은 김에 12 코어짜리 VM도 설정했다. 내 봇엔 너무 과한 스펙이지만 어차피 사라질..
[Python] 봇 개선 및 커맨드 추가
·
Study/Python
새로운 기능으로 주식 정보를 가져오는 명령어를 만드려고 했다가 아주 큰일이 됐다. 굳이 손대고 싶지 않았던 귀찮은 부분들에 손을 대기로 했다. 1. 메인 봇 코드 다이어트 기존엔 명령어를 별도로 빼는 것이 아니라, 아래처럼 그 명령어 함수 안에 구동부를 다 때려 넣은 형식이었다. #region sync @client.tree.command(name='sync', description='Owner only') async def sync(interaction: discord.Interaction): if interaction.user.id == OWNER_ID: await interaction.response.defer(ephemeral=True) await client.tree.sync() await in..