2024/03/06 3

[NLP] Selenium에서 Javascript 명령어 사용하기

1. 개요 파이썬 환경에서 셀레늄을 사용하여 데이터를 수집한 뒤, 전처리를 진행하는 것이 필수적입니다. 그러나, 셀레늄에 요청을 하는 것은 많은 리소스를 소모하여 시간이 오래 걸립니다. 그래서 셀레늄(Selenium)에서 execute_script 메서드를 사용하여 자바스크립트(Javascript) 코드를 실행하여 데이터 수집 전에 전처리를 진행해 비용을 감소시킵니다. 이 방법은 셀레늄의 기본 API만으로는 해결하기 어려운 특정 작업들을 수행할 수 있게 해주고 리소스를 줄여줍니다. 셀레늄에서 페이지 내의 모든 html의 내부 요소의 텍스트 길이를 파악하고 데이터를 수집하려면, for 문으로 매번 셀레늄으로 요청을 해야합니다. 이 때, 1분 정도의 시간이 소요됩니다. script = """ var text..

DL/NLP 2024.03.06

[NLP] Selenium 파일 다운로드 경로 설정

1. 개요 자동화된 크롤링 툴을 만들면서 여러 사이트에 적용되는 범용적인 툴을 개발하고자 했습니다. 그러나, 사이트마다 HTML 구조가 모두 다르기 때문에 자동화가 아닌 반자동 방법을 채택하여 직접 웹 페이지에서 PDF 파일을 클릭하면 어떠한 메시지도 없이 자동으로 지정한 경로로 저장되도록 세팅했습니다. chrome_options = Options() chrome_options.add_argument("--no-sandbox") # 샌드박스 모드 비활성화 chrome_options.add_argument("--disable-dev-shm-usage") # /dev/shm 사용 비활성화 chrome_options.add_argument("--disable-gpu") # GPU 가속 비활성화 download..

DL/NLP 2024.03.06

[NLP] Selenium으로 데이터 수집

1. 개요 머신러닝, 딥러닝 모델 학습을 위해 데이터를 직접 수집하여 정제하는 작업은 ML Framework에서 필수적입니다. 그러나, 모든 데이터를 하나씩 수집하고 라벨링을 진행하는 것은 많은 비용이 소모됩니다. 그렇기 때문에 뉴스 기사, 상품 정보 등 웹페이지의 데이터를 수집할 때, 사용자가 수동으로 수행할 수 있는 모든 작업을 프로그래밍 방식으로 수행하여 비용을 최소화하는 것이 필요합니다. 대표적으로 웹페이지의 데이터를 수집하는 방법은 Beautifulsoup와 Selenium이 있습니다. 이 글에서는 Selenium에 대해 다뤄보도록 하겠습니다. 2. Selenium? request와 Beautifulsoup를 사용해 데이터를 수집하는 방법은 셀레늄에 비해 실행 속도가 굉장히 빠르다는 장점이 있습..

DL/NLP 2024.03.06