DL/NLP 4

[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

[NLP]파이썬 re 모듈을 활용한 정규표현식

정규표현식? 정규표현식(Regular Expression 또는 Regex)은 문자열 패턴을 검색하고 조작하기 위해 쓰이는 형식 언어입니다. 주로 텍스트 처리 작업에서 사용되며, 특정 규칙에 맞는 문자열을 찾거나 변환하는 데에 유용합니다. 예를 들어, 이메일 주소, 전화번호, URL 등과 같은 특정 형식을 갖춘 문자열을 찾거나, 특정 단어나 패턴을 추출하거나 대체할 때 자주 사용됩니다. 메타 문자와 정규 문자 정규 표현식의 모든 문자는 메타 문자와 정규 문자 두가지로 분류됩니다. 메타 문자는 약속된 용법으로 사용되는 문자로, 특별한 의미를 가지고 있는 문자들을 의미합니다. 이러한 메타문자들은 특정 문자열 패턴을 찾거나 조작하는데 유용하게 쓰입니다. 정규 문자는 알파벳, 숫자 등 약속된 의미 없이 문자 그대..

DL/NLP 2024.01.12