본문 바로가기

웹스크래핑2

Python - 멀티스레드 사용, 웹 스크래핑 비동기 처리 ( pandas_reader 주식 데이터 스크랩 ) 들어가며.. 프로그래밍에서 병렬처리를 위해 멀티스레드를 다루는 일은 쉬운일은 아니다. 스레드의 동작 원리, 다중 스레드에서 공유되는 Shared value 처리, 그 과정에서 발생하는 Race condition, Dead Lock 문제 등을 고려하여 처리해야 하기 때문이다. Shared value 처리를 하지 않고 병렬처리가 요구 되는 비교적 단순한 프로세스라면 멀티스레딩으로 처리 하는 것이 더 효율적일 수 있다. 주식의 일 데이터 업데이트를 하기 위해 멀티스레딩 환경을 구축했다. Pandas_reader 라이브러리를 사용해서 국내 모든 상장기업을 스크래핑 한다. 동기적으로 처리하면 종목코드 수에 따라 선형적으로 비례하여 느려질 수 밖에 없다. 이를 멀티스레드 처리 하여 시간을 단축한다. 시작하기 전에 .. 2021. 2. 24.
python - 웹 스크래핑(크롤링) 기초 ( With Requests & BeautifulSoup ) 우리는 웹을 통해 필요한 정보를 얻습니다. 목적한 데이터를 자동화 프로그램을 통해 수집, 가공하는 행위를 "스크래핑" 혹은 "크롤링" 이라고 합니다. (웹 크롤링은 자동화된 시스템에 의해 최신의 정보를 수집, 가공하는 조직화된 시스템으로 해당 의미에서 스크래핑과는 약간의 의미 차이가 있습니다.) python은 웹 데이터 수집, 가공을 위해 많은 외부라이브러리를 제공합니다. HTTP library 인 Reqeusts 와 HTML, XML Parsing library 인 Beautiful Soup4 (BS4) 를 사용해서 간단한 웹 스크래핑 기술을 살펴보겠습니다. 참조 https://requests.readthedocs.io/en/master/# https://www.crummy.com/software/Be.. 2020. 1. 31.