강사 약력
유튜브 스타트코딩 채널운영 (구독자 3만명)
삼성전자 메인 강사
에스오일, KT, 한국능률협회 등 출강
'파이썬을 제대로 활용해보려고 해' 저자
알파코(Alpaco) K-디지털트레이닝 강사
동신대, 대구한의대, 초등학교,중학교 코딩 특강
프로그래머스 파이썬 PCCE 자격증 강의
스타트코딩 유튜브 채널
https://www.youtube.com/channel/UCHwhZ7HPBhUh2IscPSL0pHA
스타트코딩 교육 센터
Courses
Reviews
- [New Revised Edition] This is Real Web Crawling - Basic Edition
- [New Revised Edition] This is Real Excel Automation - Basic Edition
- [New Revised Edition] This is Real Web Crawling - Basic Edition
kthgoldlight1119666
·
[New Revised Edition] This is Real Web Crawling - Practical Edition (AI Monetization)[New Revised Edition] This is Real Web Crawling - Practical Edition (AI Monetization)- [New Revised Edition] This is Real Web Crawling - Basic Edition
Posts
Q&A
5번 강의 실습문제에서 질문있습니다.
그렇게 하셔도 됩니다!다만 print("이름-",name) 이렇게 썼을때 띄어쓰기가 하나 들어간다는 특징이 있어요 ㅎㅎ
- 0
- 1
- 19
Q&A
크롤링한 링크가 엑셀로 들어가면 작동이 안되요
안녕하세요!저는 다시 결과물을 확인했을때 하이퍼링크가 잘 동작하네요! 우선 하이퍼링크에 오타가 없는지 잘한번 확인해 보시구요.오타가 없는대로 하이퍼링크가 활성화 되지 않는다면 아래 가이드를 따라서 해결해 보는 것을 추천드립니다 🙂 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from bs4 import BeautifulSoup import time import pandas as pd # 크롬 드라이버 생성 driver = webdriver.Chrome() # 페이지 이동 driver.maximize_window() driver.get("https://shoppinghow.kakao.com/siso/p/sale/mall/talkstore") time.sleep(1) for i in range(1, 6): if i == 1: driver.execute_script("window.scrollTo(0, document.body.scrollHeight)") else: driver.execute_script("window.scrollTo(0, document.body.scrollHeight - 1000)") time.sleep(1.5) # 상품명, 상세페이지링크, 판매가격, 판매처, 배송정보 html = driver.page_source soup = BeautifulSoup(html, 'html.parser') data = [] items = soup.select(".list_spsale.__tiara_container_ > li") for item in items: name = item.select_one(".info_name").text link = 'https://shoppinghow.kakao.com/' + item.select_one(".link_product").attrs['href'] price = int(item.select_one(".info_sales").text.replace(',', '').replace('원', '')) shop = item.select_one(".txt_shop").text shipping = item.select_one(".info_etc").contents[-1].strip() # print(name, link, price, shop, shipping) data.append([name, link, price, shop, shipping]) df = pd.DataFrame(data, columns=['상품명', '상세페이지링크', '판매가격', '판매처', '배송정보']) df.to_excel('kakao_shopping_crawling.xlsx') driver.quit() 💡 가장 확실한 해결 방법: 코드 수정하기 가장 좋은 해결책은 파이썬 코드 자체를 수정해서, 엑셀 파일에 '이건 하이퍼링크입니다'라고 명확하게 알려주는 것입니다. 엑셀의 HYPERLINK 함수를 사용하도록 코드를 살짝만 바꿔주면 됩니다.아래와 같이 to_excel 실행 전, 데이터프레임의 링크 부분을 수정하는 코드 한 줄을 추가해 보세요. # ... (데이터 수집 코드 생략) ... df = pd.DataFrame(data, columns=['상품명', '상세페이지링크', '판매가격', '판매처', '배송정보']) # 아래 한 줄을 추가해주세요! # '상세페이지링크' 열의 모든 URL을 엑셀의 HYPERLINK 함수 형태로 바꿔줍니다. df['상세페이지링크'] = df['상세페이지링크'].apply(lambda url: f'=HYPERLINK("{url}")') df.to_excel('kakao_shopping_crawling_hyperlink.xlsx', index=False)✅ 추가적으로 확인해볼 사항 (엑셀 설정) 만약 위 방법으로도 해결이 안 되거나, 코드 수정이 어려운 상황이라면 엑셀 설정을 확인해볼 수 있습니다.엑셀 옵션 확인파일 > 옵션 > 언어 교정 > 자동 고침 옵션으로 들어갑니다.입력할 때 자동 서식 탭에서 '인터넷과 네트워크 경로를 하이퍼링크로 설정' 항목이 체크되어 있는지 확인해주세요. (아마 이미 체크되어 있을 가능성이 높습니다.)보안 센터 설정 확인파일 > 옵션 > 보안 센터 > 보안 센터 설정으로 들어갑니다.신뢰할 수 있는 위치나 외부 콘텐츠 설정이 너무 엄격하게 되어있어 링크 실행을 막고 있을 수 있습니다. 하지만 이 부분은 보안과 관련된 설정이므로 신중하게 변경하시는 것이 좋습니다.
- 0
- 2
- 20
Q&A
선생님 셀에서 전체 실행은 어떻게하나요?
ctrl + shift + f8 이 전체 실행 단축키 입니다 ㅎㅎ
- 0
- 2
- 19
Q&A
셀레니움 PDF자료는 받을 수 있나요
AI인턴이 잘 얘기 해줬네요... 이건 어떻게 알고 있는거지?
- 0
- 2
- 23
Q&A
글목록 추출하기
네이버 카페 HTML 구조가 살짝 바뀌어서 기존 강의대로는 동작하지 않을겁니다 웹크롤링을 할때는 이런경우가 종종 있어서연습삼아 일부러 강의 업데이트를 하지 않은 것도 있어요 ㅎㅎ 거의 다 하셨는데 나무태그 만드실때 tbody 아래 tr 까지 선택해야해요~!.article-table > tbody:nth-of-type(2) > tr
- 0
- 2
- 35
Q&A
메일 자동화 로그인 중복방지문자해결 오류 및 명시적 대기 질문
네이버 로그인 잘 되고 있어요~pw.send_keys(user_pw)보시면 패스워드를 2번 입력하도록 코드가 구성되어 있네요 그리고 메일자동화 합칠 때,명시적 대기 걸어줄 필요 없이 time.sleep 만 적절하게 1, 2초 씩 줘도 잘 동작합니다.감사합니다. 평안한 하루 되세요 :)
- 0
- 2
- 27
Q&A
강의 노트가 어디에 있는건가요?
영상 플레이어에서 조금만 아래로 스크롤을 내려보면 나옵니다!
- 0
- 2
- 33
Q&A
강의 커리큘럼 질문
예제가 갑자기 변경되어서 조금 당황스러우셨을텐데요.. ㅠ 크롤링 강의 특성상 예제 사이트가 업데이트 되면강의를 수정하거나 예제를 바꿔줘야 합니다. 네이버 쇼핑의 경우는 이번에 셀레니움을 완전히 막아 버렸어요.이를갈고 있다가 보안팀에서 원천 봉쇄해버린거 같은데이런 경우 어쩔 수 없습니다.. ㅎㅎ셀레니움을 사용할 수 없으니 강의에서 제외하도록 결정했어요. (고급 크롤링 기술인 패킷스니핑을 통해 데이터를 수집할 수는 있습니다만, 실전편강의에서는 다루지 않습니다)
- 0
- 1
- 45
Q&A
조건문 else 사용하지 않는 이유
AI인턴이 잘 대답해 줬네요! if 조건이 false일때는 반복문을 탈출하지 않으니,last_height = new_height 가 실행됩니다.
- 0
- 2
- 30
Q&A
셀레니움으로 접근할 수 없는 경우
셀레니움의 사용을 막는 봇탐지 사이트에 접근하려고 하나 보네요.접근 불가라 떠서 당황하셨을거 같은데.. 요즘에 자동화 프로그램이 많아 지다 보니, 사이트쪽에서도 보안이 강화되고 있는데요 우회 관련된 부분은 사이트마다 달라서 정확하게 하나의 방법으로 알려 드리기도 어렵고..또한 윤리적인 부분에서도 어긋나기에 실전편에서는 다루고 있지 않습니다.너그러운 마음으로 양해 부탁드립니다. (AI나 구글에게 질문하면 힌트를 얻으실 수 있을거예요)
- 0
- 2
- 53