파이썬/파이썬 셀레니움, Request10 파이썬 크롤링) 인코딩 오류 해결하기 크롤링 외주를 진행 중에 데이터의 개수는 정확하게 틀어맞지만 한국말이 아닌 외계어, 특수문자로 저장이 되어 있는 것을 확인하였습니다. 제 데이터를 예를 들어, �����������������Ȧ �� 이런 식의 특수 기호가 저장되어 있었습니다. 경험상 이 부분은 인코딩 문제라고 판단하여 구글링을 해보았는데, 자료가 많지 않아 공유드립니다. 조치법 res = requests.get(url, headers=headers) res.encoding = 'euc-kr' #3번 주목 krtext = res.text soup = BeautifulSoup(krtext, 'lxml') # 프로그램 구동 위 조치법이 안되면 3번째 줄의 코드에 'euc-kr'을 'cp949', 'utf-8' 등으로 바꿔서 시도를 하시면 됩니다. 2023. 7. 29. 셀레니움) 스크롤 끝까지 내리기 모든 정보를 다 갖고 오게 하기 위해 스크롤을 끝까지 내려야 할 상황이 있습니다. options = webdriver.ChromeOptions() options.add_argument("headless") browser = webdriver.Chrome("./chromedriver",options=options) url = '크롤링할 url' browser.get(url) before_h=browser.execute_script("return window.scrollY") while True : browser.find_element(by=By.CSS_SELECTOR, value="body").send_keys(Keys.END) #맨 아래로 스크롤 내린다 time.sleep(0.5) #스크롤 하는 동안의 .. 2023. 1. 28. python) Tkinter checkbox, checkbox 클릭 시 해당 조건의 데이터 불러오기 체크박스를 클릭 시, 해당 체크 박스에 해당되는 조건을 가져올 때가 필요합니다. 물론, 체크박스를 클릭 후 바로 조건을 가져올 순 없지만, 특정 버튼을 통해 체크박스가 클릭되어 있을 때 조건을 불러오거나 클릭되지 않았을 때 조건을 불러올 수 있습니다. 코드는 다음과 같습니다. 코드 1) checkbox 지정 Var1 = IntVar() chkbox1 = Checkbutton(root,text = '먼저 둘러보세요',variable = Var1,font = font) chkbox1.pack() chkbox1.place(x = 200, y = 180) print(Var1.get()) # 1이면 체크됨, 0이면 체크되지 않음 chkbox1.select() # 디폴트 값 : 체크되어 있음 chkbox1.sele.. 2023. 1. 8. Python) VS code sklearn 에러, 설치 방법, pip install 꿀팁 머신러닝을 배우고자 VS Code에 pip install sklearn을 치면 어떻게 될까요? 아무것도 설치가 되지 않죠. 터미널 창에서 아래 값 입력하시면 됩니다. pip install scikit-learn Numpy, SciPy가 있을 경우 scikit-learn만 설치하는 방법입니다. pip install -U scikit-learn 아나콘다 conda install -c conda-forge scikit-learn scikit-learn requires: Python (>= 3.8) NumPy (>= 1.17.3) SciPy (>= 1.3.2) joblib (>= 1.0.0) threadpoolctl (>= 2.0.0) 위 조건과 잘 맞지 않으면 에러가 뜰 수 있으니 주의해야 합니다. 요구 사항.. 2022. 12. 2. 파이썬 문자 내용 말고 양 쪽 공백 다 제거하기, strip(), replace Replace, Strip은 데이터 가공할 때 꼭 알아야 하는 함수입니다. 양쪽 공백 제거 크롤링에서 .text를 진행할 시 공백이 엄청 많이 나오는 경우가 있습니다. 예를 들어 다음과 같습니다. a = ' 안 녕 하 세 요 ' a.strip() --> '안 녕 하 세 요' 스크래핑, 크롤링 시 많이 쓰이는 함수이니 꼭 알아둬야 하는 부분입니다. 줄 제거 a = ' 안녕 하세요' 위 결과를 '안녕하세요'로 바꾸고 싶다면 어떻게 해야 할까요? a.strip() --> '안녕 하세요'가 나옵니다. a.replace('\n', '').strip()로 하면 '안녕하세요'가 나옵니다. 이래도 이상하게 줄이 안 바꿔진다면, a.replace('\t', ' ')로 replace 앞을 한번 더 감싸주면 원하는 값이 나.. 2022. 11. 18. 이전 1 2 다음 반응형