[Python] BeautifulSoup 크롤링
·
dev/backend
1. 개요회사 백오피스 서비스 개발에서 뉴스기사 크롤링 모듈 개발을 담당 하였다. 해당 요구사항이 있어 이를 충족하기 위해 Python 에 크롤링 패키지를 찾아보았다.대표적으로 Beautiful Soup 과 Selenium 이 있었다. 둘다 써보고 보다 적합한 패키지를 결정하고자 하였고 이에 대해 기술한 내용이다. 2. 본론2.1. Selenium vs Beautiful Soup (+ requests)Selenium 과 Beutiful Soup 은 웹 데이터를 수집하는데에 특화된 패키지이지만, 작동 방식에서 큰 차이가 있어 목적에 따라 선택할 수 있다. 2.1.1. SeleniumSelenium 은 기본적으로 크롬이나 파이어폭스 같은 실제 브라우저 창을 띄운다.Selenium 은 단순히 코드가 브라우저..
[Python] pip 패키지 목록 자동생성
·
dev/backend
1. 서론회사 백오피스 서비스의 파이썬 모듈을 혼자 개발하던 중, 팀원 중 담당 기능 개발을 Java -> Python 으로 구현하는게 더 편할 것 같다고 해셔서 프로젝트를 공유하기 시작했다. 5인 협업 프로젝트였으나, 모듈이 다양했고 특히 내 Python 쪽은 나 혼자 개발했기에 패키지 버전 충돌이 일어나지 않았다.협업을 하게 되니 파이썬의 경우 패키지 버전 관리가 매우 중요하다는걸 몸으로 느끼고 해결방안을 쉽게 찾을 수 있었다. 2. 본론Python 환경에서는 한 패키지에 의존 패키지가 여러개 물려있어 버전관리가 특히 중요하다.그래서 보통 requirements.txt 를 활용한다. requirements.txt 파일에 {패키지 명 == version} 을 기입하면 다음과 같은 명령어 호출시 기술된 ..
[Python] windows .venv 세팅
·
dev/backend
1. 서론회사 백오피스 프로젝트에서 Python 기반 크롤링 모듈, 항공 전문 해석 모듈 개발을 담당하게 되었다.주전공 덕분에 Python 을 안써본건 아니지만, 데이터 분석 외 개발을 위한 Python 프로젝트는 처음이라 개발에 앞서 가상환경 세팅에 관한 내용을 기술한 내용이다. 2. 본론Python 을 포함한 어떠한 환경이든 패키지 or 라이브러리를 설치하였을 때 '가상화' 기술을 사용하지 않으면 지금 당장은 괜찮을지도 모르지만, 나중에 피를 볼 수 있다. 패키지 or 라이브러리에는 '버전' 이 존재하고, 해당 라이브러리를 사용하기 위해선 의존 라이브러리를 설치해야 하는 경우가 대부분이고, 이 의존 라이브러리들의 버전이 해당 라이브러리에서 요구하는 스펙이 아니면 사용할 수 없다. 그렇기 때문에 Pyt..