강사 약력
유튜브 스타트코딩 채널운영 (구독자 2만명)
삼성전자 메인 강사
에스오일, KT, 한국능률협회 등 출강
'파이썬을 제대로 활용해보려고 해' 저자
알파코(Alpaco) K-디지털트레이닝 강사
동신대, 대구한의대, 초등학교,중학교 코딩 특강
프로그래머스 파이썬 PCCE 자격증 강의
스타트코딩 유튜브 채널
https://www.youtube.com/channel/UCHwhZ7HPBhUh2IscPSL0pHA
스타트코딩 교육 센터
강의
수강평
- [신규 개정판] 이것이 진짜 크롤링이다 - 기본편
- [신규 개정판] 코딩 입문자를 위한 파이썬 완벽가이드
- [신규 개정판] 이것이 진짜 엑셀자동화다 - 기본편
- [신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
- [신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
게시글
질문&답변
웹 크롤링 대상중 웹에디터(smart_editor2) 안의 텍스트를 크롤링하는 방법
안녕하세요 사이트 주소가 없어서 HTML 구조나 문제상황등이 확인이 되지 않아제가 직접 답변하는게 어렵네요 ㅠo1 모델의 답변을 첨부해 드립니다!에디터 내부에 글 내용이 제대로 보이지 않거나 추출이 안 되는 주요 원인은 다음과 같습니다iframe을 정확히 인지/전환하지 못한 경우스마트에디터는 내부에 여러 개의 iframe을 사용하거나, 숨겨진 iframe이 있을 수 있습니다driver.switch_to.frame("iframe4dummy")에서 iframe4dummy가 진짜 본문을 담고 있는 iframe인지 먼저 개발자도구(F12)로 확인해야 합니다iframe을 찾을 때는 정확한 id 혹은 name, 또는 driver.find_element(By.CSS_SELECTOR, "iframe.클래스명") 식으로 지정해야 합니다프레임 내부 구조가 단일 body가 아닐 수도 있음실제 텍스트가 태그 안에 있거나, 다른 자식 요소에 들어 있을 수 있습니다예: ... 구조처럼 body 아래에 별도의 wrapper가 있는 형태따라서 body.text가 아니라 div.se_editView 같은 실제 글이 담긴 요소를 찾아 .text로 가져와야 할 때가 많습니다페이지 로딩 완료 전에 접근해서 요소를 못 찾는 경우에디터나 iframe이 동적으로 로딩되고 있어서 아직 요소가 준비되지 않은 상태일 수 있습니다이 경우 WebDriverWait을 통해 해당 요소가 나타날 때까지 기다려야 합니다위 에디터가 정말 smart_editor2인지 확인 필요실제로는 다음 에디터 or CKEditor, 혹은 다른 버전일 수도 있으므로 구조가 조금씩 다릅니다개발자도구로 구조를 확인한 뒤, iframe 안의 body(혹은 div 등)를 제대로 찾아야 합니다아래 예시는 기본적인 방식입니다# iframe에 들어갈 때는 프레임 요소부터 찾습니다 iframe_elem = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.ID, "iframe4dummy")) # 혹은 By.NAME, By.CSS_SELECTOR 등 ) driver.switch_to.frame(iframe_elem) # 해당 프레임으로 전환 # 스마트에디터 본문을 실제로 담고 있는 태그(예: div.se_editView) 확인 # 개발자도구로 body 이하의 실제 본문 클래스를 확인해 봅니다 content_elem = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.CSS_SELECTOR, "body")) ) content_text = content_elem.text.strip() print("HTML 에디터 내용:", content_text) # 다시 메인 프레임으로 복귀 driver.switch_to.default_content() 만약 body 태그에서 내용이 전혀 안 보인다면, 아래처럼 body 안쪽에 있는 다른 태그(예: div.se_editView)에 텍스트가 들어있을 가능성이 높습니다content_elem = driver.find_element(By.CSS_SELECTOR, ".se_editView") content_text = content_elem.text.strip() 혹은 , 등 세부 태그에 나뉘어 있을 수도 있으니, 구조를 개발자도구(F12)로 먼저 꼼꼼히 확인하는 것이 제일 중요합니다추가로, iframe이 여러 개 있는 경우도 체크해야 합니다스마트에디터가 iframe4dummy, iframe4placeholder 등 여러 iframe을 두고, 실제 텍스트는 다른 iframe에 들어가 있을 수 있습니다따라서 iframe 이름이나 id 값을 잘 확인해서 정말 본문을 가진 프레임에 들어가는지 확인해야 합니다정리하자면, “에디터 본문을 담고 있는 정확한 iframe을 찾아서 전환한 뒤, 정확한 요소(태그)를 찾은 다음 .text 또는 .get_attribute("innerText") 같은 방식으로 텍스트를 추출”하면 됩니다에디터 구조만 파악되면 지금 쓰신 코드 자체는 크게 수정 없이 잘 동작할 거예요도움이 되었길 바랍니다즐거운 크롤링 하시고, 추가로 궁금한 점이 있으시면 언제든 말씀해 주세요감사합니다
- 0
- 1
- 13
질문&답변
GUI 기초 사용법에서 실행하니 아무것도 안나오네요 ㅜㅜ
>>> 이렇게 터미널에 되어 있으면 파이썬이 실행중인 상태입니다그 상태에서 재생버튼을 누르면 syntax 오류가 나요ctrl + z 를 눌러서 윈도우와 대화를 주고받는 상태로 만든 뒤에다시 재생버튼을 눌러 보시기 바랍니다 ㅎㅎ
- 0
- 2
- 11
질문&답변
html 띄어쓰기 되어 있는경우
AI 인턴이 해결해 줬네요 ^^
- 0
- 2
- 13
질문&답변
pyside6 설치 사용법에서
폴더구조가 어떻게 되어 있는지 스크린샷을 통해 보여 주시겠어요?그리고 오류 메시지 전체를 보여주셔야 확인 가능합니다 ㅎㅎ 우선 AI 인턴이 말해준 가이드 대로 진행해 보시구강의 영상을 처음부터 다시 천천히 보시는 것도 추천 드려요! from PySide6.QtWidgets import QApplication, QWidget from login_ui import Ui_Form import sys class MainWindow(QWidget, Ui_Form): def __init__(self): super().__init__() self.setupUi(self) # self.객체이름.clicked.connect(self.실행할메서드이름) self.login_btn.clicked.connect(self.login) def login(self): print(f'아이디 : {self.id.text()} 비밀번호 : {self.pw.text()}') app = QApplication() window = MainWindow() window.show() sys.exit(app.exec())
- 0
- 2
- 20
질문&답변
pyside6 ui파일이 py파일로 변환이 안되네요
터미널에서 아래 명령어를 통해 .py 파일을 만들어 보시겠어요?pyside6-uic login.ui -o login_ui.py
- 0
- 3
- 29
질문&답변
무한스크롤을 하면 최상단 상품이 사라지는 경우
네 맞습니다~!사이트의 스크롤 로직에 따라서 위 상품들이 사라지는 경우가 있어요그러면 해당 로직에 맞춰서 개발을 해주셔야 합니다 고민 조금만 해보면 어떤식으로 개발을 해야할지머리속에 그려지실 거에요 ^^
- 0
- 2
- 17
질문&답변
나무태그 수업 진행중인데 아무것도 안나오네요~
안녕하세요 스타트코딩입니다!수업내용의 URL 과 다른거 같습니다.
- 0
- 2
- 18
질문&답변
크롤링 관련 질문입니다
AI 인턴이 잘 이야기 해줬는데요.개인적인 용도 (데이터 분석, 연구 등) 에 사용하는거는 문제가 되긴 어렵고 상업적으로 사용할 시에는 문제가 될 수 있습니다.그리고 개인정보같은 경우는 조심해야합니다.
- 0
- 2
- 16
질문&답변
키워드출력이 이상합니다..
안녕하세요 스타트코딩입니다전체코드를 확인해봐야 알거 같은데,첨부해 주시면 돌려보고 말씀 드리겠습니다!
- 0
- 2
- 23
질문&답변
네이버 쇼핑 링크 변경에 따른 실습 문의
안녕하세요 HJ님 피드백 주셔서 감사합니다 ㅎㅎ네이버 쇼핑 페이지의 구조가 바뀌어서 수업을 따라하는데 불편함을 느끼셨군요 ㅠ 아무래도 네이버 쇼핑 페이지가비교적 다른 페이지들 보다 자주 바뀌는 것 같아서다른 페이지로 예제를 업데이트 해야할 것 같습니다. 지금 새로운 강의를 제작하느라 강의 업데이트에는 시간이 조금 걸릴거 같은데스크롤이 필요한 다른 페이지를 연습해보거나,다음 챕터를 들으면서 이어서 학습을 진행해 보면 좋을것 같습니다 🙂
- 0
- 2
- 37