플그래밍/파이써언 192

[파이썬 & 크롤링] Selenium - iframe 내부 접근 법

웹페이지상으로는 동일한 페이지 같지만 iframe과 같이 다른 곳에서 컨텐츠를 불러오는 경우에는 일반적인 방법으로 요소를 찾을 수 없습니다 해당 요소를 찾을 수 없다는 NoSuchElementException와 같은 오류가 발생하기도하죠 이 경우 selenium을 iframe으로 접근시켜줘야 하는데요 네이버 증권 재무제표에 접근해보면서 알아볼께요 종목분석은 네이버 증권 페이지이지만 그 밑으로는 iframe 컨텐츠입니다 "재무분석"과 같은 요소는 selenium에서 찾을 수 없다고 나옵니다 아래 코드로 selenium이 iframe으로 접근하도록합니다 id를 통해 접근하고자하는 iframe을 찾고 switch_to.frame을 통해 iframe에 접근합니다 iframe = driver.find_elemen..

[파이썬 & 크롤링] Selenium "Select" - 드롭다운 옵션 추출 법

크롤링 중 드롭다운 옵션을 추출해야할 경우에 대해서 알아볼께요 SRT 웹사이트 메인페이지에는 출발역을 선택하는 드롭다운이 있습니다 해당 드롭다운에서 선택가능한 모든 옵션을 추출해볼께요 먼저 요소를 직접 확인해서 어떤 옵션이 있는지 볼께요 출발역 수서 동탄 평택지제 천안아산 오송 대전 김천(구미) 서대구 동대구 신경주 울산(통도사) 부산 공주 익산 정읍 광주송정 나주 목포 총 18개의 출발역 옵션이 존재합니다 간단하게 파이썬 코드를 작성해볼께요 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.service import Service from selenium.webdr..

[파이썬 & 크롤링] Selenium "Select" - 드롭다운 옵션 선택 법

데이타 크롤링을 하다보면 아래와 같은 드롭다운 메뉴를 선택해야하는 상황에 마주칩니다 오늘은 파이썬 selenium으로 드롭다운 목록에서 원하는 옵션을 선택해볼께요 Ctrl + Shift + C를 눌러 해당 요소를 자세히 확인해볼께요 해당 태그 에는 여러 가지 옵션이 있는 것을 확인할 수 있어요 부산은 value 값이 0020 이네요 출발역 수서 동탄 평택지제 천안아산 오송 대전 김천(구미) 서대구 동대구 신경주 울산(통도사) 부산 공주 익산 정읍 광주송정 나주 목포 name을 통해서 해당 요소에 접근하면되겠네요 (name은 "dptRsStnCd") 간단하게 파이썬 selenium 코드를 작성해볼께요 저희는 태그의 value 값을 통해서 부산을 선택해볼께요 from selenium import webdri..

[파이썬 & 크롤링] Naver 증권 리서치 리포트 모아보기

Naver 증권 사이트에서 제공하는 증권사 리서치 리포트를 모아보는 기능을 만들어보았어요 당일 증권사 리포트를 잘 정리해놓았네요 시황정보에서 채권분석까지 여러 리포트를 제공하는데요 python tkinter, requests, bs4를 활용해서 얘네들을 보기 쉽게 모아봤어요 실행화면 입니다. 상단에 "시황정보", "투자정보", "종목분석", "산업분석", "경제분석", "채권정보" 탭이 위치해있어요 클릭하면 최신 리포트가 조회됩니다. 리포트를 더블클릭하면 해당 pdf파일이 열려요 필요한 기능이 있으면 댓글에 남겨줘요 끝! 다운로드 * pyinstaller로 컴파일된 exe파일입니다.

[파이썬 & 크롤링] 시드물 제품 검색 및 리뷰 추출 프로그램

오늘은 국내 가성비 화장품 회사인 시드물사이트의 리뷰를 크롤링해보았어요 제품 리뷰를 보려면 하나씩 클릭 후 페이지 변경까지 여간 번거로운게 아닌데요 tkinter gui와 python selenium을 활용해서 리뷰를 추출하고 표시해주는 기능을 조합해보았어요 실행 첫화면 입니다 제품 검색란에 제품명을 입력 후 검색 버튼이나 엔터를 누르면 아래와 같이 제품 검색 결과가 표시되어요 제품 선택 후 "리뷰를 보여주세요" 버튼 클릭 시 제품 목록이 사라지면서 해당 제품의 리뷰가 천천히(...)업데이트 후 나름 빠르게 불러와집니다. * 무려 화살표 키로 돌려 볼수 도 있답니다 오늘은 파이썬으로 간단한 리뷰 크롤링 프로그램을 만들어보았어요 느리지만 왠만한 사이트는 크롤링이 가능한 selenium 기특한 녀석입니다 프..

[파이썬] Selenium - webdriver 버젼 설정 법

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=option) 셀레니움 웹드라이버를 잘 사용하고 있다가 크롬이 최신버젼으로 자동 업데이트되면서 아래와 같은 에러 발생 ValueError: There is no such driver by url https://chromedriver.storage.googleapis.com/LATEST_RELEASE_115.0.5790 해당 api에서 115버젼을 찾는데 아직 해당 업데이트가 이루어지지 않아 발생하는 오류로 보인다 사이트에 들어가봐도 114까지만 확인 됨 이런 설치된 크롬은 최신 버젼이라고 하더라도 이전 크롬드라이버를 사용해보았다 from selenium i..

[파이썬] Selenium - webdriver 사용 시 뜨는 콘솔창 숨기기

파이썬 Selenium에서 webdriver를 사용하는 경우 코드를 실행하면 아래와 같은 콘솔창이 뜹니다 코드는 대략 이런 형태 from time import sleep from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.chrome.options import Options from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager # 셀레니움 옵션 option = Options() option.add_argument('--headles..

[파이썬] 한글 품사 태깅, 이것만은 알고 가자 (konlpy)

nltk로는 한글 텍스트를 분석하기는 적합하지 않다. 각 단어가 공백으로 분리되어있는 영어와는 다르게 한글은 더 복잡한 구조를 띈다. 그렇기 때문에 텍스트 전처리 과정은 한글에 최적화된 konlpy를 쓴다. 라이브러리 konlpy에서 제공하는Okt()를 활용하여 형태소, 명사, 품사 태깅을 해보자. from konlpy.tag import Okt t = Okt() text = "한국에서 인간 심리학은 역사적으로 감정, 대인 관계 및 사회적 조화에 대한 이해를 깊이 간직한 풍부한 문화적 역사 때문에 매우 중요한 주제로 다뤄져 왔습니다. 유교, 불교, 무속신앙의 독특한 전통을 토대로 발전해 온 한국의 심리학은 국내외 수많은 이론과 실제를 수용하여 현대적인 심리학 연구에 기여하고 있습니다. 한국의 급속한 산업..

[파이썬] 품사 태깅, 이것만은 알고 가자 (nltk)

텍스트를 토큰화시킨후 품사를 태깅 시키는 방법에 대해서 알아보겠습니다. import nltk from nltk.tokenize import word_tokenize text = "I went to the store yesterday and bought some bread and milk, but I realized I forgot my wallet at home." tokens = word_tokenize(text) for each in nltk.pos_tag(tokens): print(f"{each[0]} ({each[1]})") text를 word_tokenize()로 토큰화하고나서 각 토큰을 nltk.pos_tag()로 품사를 붙여줍니다. 각 단어에 품사가 붙여진걸 볼 수 있습니다. 품사 약어 설명..

[파이썬] 노이즈 및 불용어, 이것만은 알고 가자 (nltk)

텍스트 마이닝에서 불필요하거나 분석 대상이 아닌 단어를 뜻하는 노이즈 및 불용어 제거는 필수 전처리 단계이며 분석결과의 정확성에 크게 영향을 끼친다. nltk에서는 기본적으로 아래와 같은 불용어 리스트를 제공한다. ['i', 'me', 'my', 'myself', 'we', 'our', 'ours', 'ourselves', 'you', "you're", "you've", "you'll", "you'd", 'your', 'yours', 'yourself', 'yourselves', 'he', 'him', 'his', 'himself', 'she', "she's", 'her', 'hers', 'herself', 'it', "it's", 'its', 'itself', 'they', 'them', 'their'..

728x90