[Python] 비동기 프로그래밍으로 크롤링 속도 개선(asyncio)
·
Python
1. 동기? 비동기? 동기 프로그래밍 : 동기 프로그래밍은 작업들이 순차적으로 실행되며, 하나의 작업이 끝나야 다음 작업이 시작됩니다. 이것은 작업들 간의 의존성이 높고, 순서가 중요한 경우에 주로 사용됩니다. 비동기 프로그래밍 : 비동기 프로그래밍은 작업들이 동시에 진행되며, 하나의 작업이 완료될 때까지 다른 작업을 차단하지 않습니다. 빅데이터에서는 코드에 필요한 데이터를 얻어오는 작업에 병목이 생길 수 있습니다. 이런 I/O bound 위주의 프로그램에서는 I/O 효율을 비동기적으로 개선함으로써 실행속도를 빠르게 할 수 있습니다. 네이버에서 300개 기업의 재무제표를 크롤링하는 경우를 예로 보겠습니다.2. 동기 프로그래밍from pykrx import stock import pandas as pd i..