묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
50프로 수강중입니다~
현재 50프로 수강을 하면 진짜 많은 도움 받고 있습니다. 감사합니다.네이버 플레이스를 크롤링하려다 보니 json형태로 정보를 받을 수 있더라고요.이런 경우는 어떻게 크롤링하고 파싱하는지 알 수 있을까요?...
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
json정보를 주는 사이트 크롤링 방법
강의 너무 재밌고 유익하게 완강하였습니다. 감사합니다~ ^^제가 네이버 플레이스에서 맛집을 추출하려고 하는데 json형태로 제공이 되는데 json형태로 제공되는 사이트를 크롤링하고 데이터를 파싱하는 방법은 강의 내용에는 없던데어떻게 하면 좋을까요? ㅠㅠ 혹시 강의를 추가해주실수도 있을까요?
-
미해결남박사의 파이썬 기초부터 실전 100% 활용
소수 너무 어려워요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
현재 리뉴얼된 강의 커리큘럼이 맞는지 확인 부탁드려요
기존에 막힐 때마다 다시 보면서 공부하던, 네이버&구글 이미지 클롤링 섹션과 미쳐 보지 못했던 예약 감시 크롤링이 사라지고, 현재 지금의 커리큘럼으로 리뉴얼되었는데요. 섹션8과 9 그리고 10은 오픈 예정으로 닫혀있는 상태가 맞는 것인지 확인 부탁드려요. 언제쯤 오픈되는 건가요?그리고 기존의 강의는 사라진 건가요?
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
왜 오류가 나오는지 이해가 안됩니다
import requests from bs4 import BeautifulSoup response = requests.get("https://finance.naver.com/news/mainnews.naver") html = response.text soup = BeautifulSoup(html, 'html.parser') articles = soup.select(".block1") title = articles.select_one(".articleSubject > a").text print(title)AttributeError: ResultSet object has no attribute 'select_one'. You're probably treating a list of elements like a single element. Did you call find_all() when you meant to call find()? 오류가 나오는 이유를 모르겠습니다..block1 을 찾아서 articles이라는 변수에 저장하고이 변수에서 .articleSubject 를 찾아서 출력하려고 하면 왜 오류가 나는 걸까요? 매번 이 부분에서 한번씩 막혀서 이렇게 저렇게 바꾸다 보면 해결은 되는데 왜 저 문구가 오류가 나는건지 너무너무너무 궁금합니다.
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
제품 링크를 타고 들어가야 원하는 정보가 나오는 사이트
from selenium import webdriver from selenium.webdriver.chrome.options import Options # from selenium.webdriver.chrome.service import Service # from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys import requests from bs4 import BeautifulSoup import time options = Options() user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36" options.add_argument(f"user-agent={user_agent}") options.add_experimental_option("detach", True) driver = webdriver.Chrome(options=options) url = "https://kream.co.kr/search?shop_category_id=34" driver.get(url) time.sleep(2) for i in range(1): driver.execute_script("window.scrollTo(0, document.body.scrollHeight)") time.sleep(2) html = driver.page_source soup = BeautifulSoup(html, "html.parser") items = soup.select(".product_card") for item in items: brand = item.select_one(".product_info_brand.brand") name = item.select_one(".translated_name") link = item.select_one(".item_inner").attrs['href'] click = name.text driver.find_element(By.PARTIAL_LINK_TEXT, click).send_keys(Keys.CONTROL+Keys.ENTER) time.sleep(1) driver.switch_to.window(driver.window_handles[-1]) html = driver.page_source soup2 = BeautifulSoup(html, "html.parser") model_num = soup2.select_one("div:nth-child(3) > div.product_info") print(brand.text.strip()) print(name.text) print(model_num.text.strip()) print(f"https://kream.co.kr{link}") print() driver.close() driver.switch_to.window(driver.window_handles[0]) 아무것도 모르는 상태에서 시작했는데 좋은 강의 올려주신 덕분에 크롤링을 조금이나마 맛보게 된 것 같습니다. 어설프게나마 완성은 한거 같은데 궁금한게 있어서 질문 남깁니다.상품 링크를 타고 들어가야 원하는 정보를 긁어올 수 있는 사이트인데, 자바스크립트로 동작하게끔 되어 있습니다.시행착오 끝에 셀레니움으로 동작을 시켜봤는데제품 하나하나마다 새창을 열어서 정보를 가져온 후에 창을 닫고.. 다시 새창을 열어서 정보를 가져온 후에 창을 닫고..하다보니 시간도 너무 오래 걸리고 이렇게 하는게 맞는 건지 의구심이 듭니다.어떻게 해야 속도를 높힐 수 있을까요?
-
미해결파이썬 셀레니움 고급편 (python selenium - 크롤링, 크롤러)
move_to_bottom 스크롤 부분
scroll_by_amount로 바뀌면서 시작하는 위치를 설정할 수 없게 된 것 같은데, 만약 인피니티 스크롤 하려고 할 때, 해당 마우스 포인터가 특정한 섹션에 있어야지 인피티니 스크롤을 할 수 있는 페이지라면 어떻게 설정을 해야될까요? 따로 sx, sy와 같이 해당 부분을 고정시키는 방법은 없을까요?
-
미해결파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
Table of contents 문의드립니다
안녕하세요, table of contents 정상적으로 설정했는데.ipynb에서 table of contents 버튼을 누르면 아래 사진처럼 목록이 정상적으로 보이지 않습니다.혹시 해결법 아시나요? 감사합니다!
-
미해결LLM 데이터 분석 - 웹 크롤링부터 추천 시스템까지
실습 라이브러리 설치하기 (requirements.txt) 폴더?
안녕하세요. 강사님, 실습 라이브러리 설치하기 (requirements.txt) 위해서어느 폴더에 자료를 저장해야하나요? 가상환경 study로 들어가서 서브로 디렉토리를 따로 만들어야하나요? 아니면 C: drive 개인폴더에 자료저장 공간을 임의로 만들어서 진행해도 되는지요?
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
데이터 분석, 데이터 과학 로드맵 질문
질문에 앞서 먼저 좋은 강의를 제작해주셔서 감사합니다. :)여러 강의를 들어봤는데 해당 수업이 가장 이해하기 좋은 예제와 설명을 해주셔서 공부하는데 너무 큰 도움이 됐습니다.ㅡㅡㅡㅡㅡㅡㅡ질문내용ㅡㅡㅡ"데이터 분석, 데이터 과학 전과정을 쉽게! 단계별로! 꼼꼼하게 익히기" 로드맵을 통해 "파이썬입문과 크롤링기초 부트캠프를 수료한 학생입니다.다름 아니라 로드맵 코스 중 "처음하는 SQL과 데이터 베이스 부트캠프" 와 처음하는 MongoDB와 No SQL 강의가 있는데MongoDB 강의도 필수적으로 들어야 후에 있는 커리큘럼 강의를 이해할 수 있는지 궁금합니다."처음하는 SQL과 데이터베이스 부트캠프" 강의 수료 후, 바로 "처음하는 파이썬 분석(pandas) 강의와 이후 강의를 들어도 강의를 이해하는데 문제가 없는 지 질문드립니다.
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
Claude 3 는 안되는 건가요?
아직 강의가 chat gpt 이용하는 것 까지 강의가 몇 개 남아있습니다만, 현재 Claude 3 를 결제하고 프로로 사용 중인데 주변 서적이나 강의 등을 보면 Chat GPT 를 이용한 내용만 있던데 Claude 3 로는 할 수 없는 걸까요? Chat GPT 로 갈아타야하는 걸까요...?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
lst = lst50 + lst100 이거 대신에
import requests from bs4 import BeautifulSoup headers = { "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36" } url = "https://www.melon.com/chart/index.htm" req = requests.get(url, headers=headers) html = req.text soup = BeautifulSoup(html, "html.parser") lst50 = soup.select(".lst50") lst100 = soup.select(".lst100") # lst = lst50 + lst100 if lst50: lst = lst50 elif lst100: lst = lst100 else: print("!!!!!!!!!!!!!") # 자식선택자 > 는 바로 밑에 있을 때만 가능. 바로 밑에 있는게 아닐 때는 그냥 한칸 띄고 입력! for i in lst: title = i.select_one(".ellipsis.rank01 a") singer = i.select_one(".ellipsis.rank02 > a") album = i.select_one(".ellipsis.rank03 > a") print(title.text) print(singer.text) print(album.text) print() # for rank, i in enumerate(lst50, 1): # title = i.select_one(".ellipsis.rank01 a") # print(f"{rank} : {title.text}") # print() print(len(lst)) lst = lst50 + lst100 대신에 앞 시간에 설명해주셨던 if, elif, else 를 사용해봤는데 데이터가 50개만 나오는데, 왜 100개가 다 안나오는 건가요? 무슨 차이가 있는건지 궁금합니다.
-
해결됨[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
동적 페이지 이동 크롤링 방법 문의
안녕하세요, 상세 페이지 내용 크롤링에서 막혀 있다가 이번에 올려주신 리뉴얼 강의 덕분에 해결했습니다.그런데 페이지 이동에서 다시 막혔습니다.아래는 제가 만든 코드입니다. 첫번째 페이지는 잘됩니다.from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from bs4 import BeautifulSoup import time import requests from webdriver_manager.chrome import ChromeDriverManager chrome_options = Options() chrome_options.add_experimental_option("detach", True) service = Service(executable_path=ChromeDriverManager().install()) driver = webdriver.Chrome(service=service, options=chrome_options) driver.implicitly_wait(5) driver.maximize_window() driver.get("https://www.dbpia.co.kr/search/topSearch?searchOption=all&query=%EA%B0%80%EC%A7%9C%EB%89%B4%EC%8A%A4") html = driver.page_source soup = BeautifulSoup(html, 'html.parser') articles = soup.select("article.thesisWrap") for article in articles: title = article.select_one("h2.thesis__tit").text info = article.select_one(".thesisAdditionalInfo").text link = 'https://www.dbpia.co.kr' + article.select_one(".thesis__summary > a").attrs['href'] response = requests.get(link, headers={'User-Agent':'Mozilla/5.0'}) html = response.text soup = BeautifulSoup(html, 'html.parser') try: abstract = soup.select_one("div.abstractTxt").text except: " " print(title,info,abstract) 수업에서는 1페이지, 2페이지.... 이렇게 바뀔 때 url이 바뀌는 경우를 알려주셨는데제가 크롤링하려는 페이지는 매우 고약하게도...url이 바뀌지 않습니다.첫페이지 다음의 두번째 페이지부터 계속 url에 '#a'만 붙습니다. 이런 경우 1페이지 다음 2페이지, 3페이지 등 다음 페이지 내용을 크롤링할 수 있는 방법이 있을까요? 해당 사이트 url입니다.https://www.dbpia.co.kr/search/topSearch?searchOption=all&query=%EA%B0%80%EC%A7%9C%EB%89%B4%EC%8A%A4#a 1.<전체 화면> <확대 화면: URL> <확대 화면 : F12 - 소스코드> driver.find_element(By.CSS_SELECTOR, ".dpPaging__link:nth-of-type(1) ").click()이렇게 페이지에 따라 CSS 선택자를 만들고 숫자만 바꿔서 하려고 했는데for문을 적용할 수가 없네요.... 실전편에서 동적 페이지 크롤링 강의 오픈 예정이던데 이런 내용도 다뤄주시면 감사하겠습니다.
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
강의 수강 순서 문의드려요.
유료 강의 첫 수업을 들으려는데 강의가 업데이트가 되었네요? 감사합니다. ^^강의 순서는 1부터 들으면 될까요? 과정 리스트를 보니 설치와 기본은 뒤쪽에 있어서 문의드려요.
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
크롤링 데이터를 웹으로 보여주고 싶습니다.
안녕하세요?? 강의를 엄청 잘 듣고 있는 수강생입니다.다른게 아니라 크롤링한 json 데이터를 웹(스프링이나 스프링부트)에서 화면에 표현하고 싶은데 어떻게 하면 되나요??
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
증권, 메일 등 서비스 목록을 못가져와요 ㅠㅠ
네이버 메인 화면에서 증권, 메일 등 서비스 목록을 못가져와요 ㅠㅠ클래스를 여러가지로 바꿔도 아래와 같이 none로 안나오는데 도움주시면 감사하겠습니다. import requests from bs4 import BeautifulSoup url = "https://www.naver.com" print(url) headers = { "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36" } req = requests.get(url, headers=headers) html = req.text soup = BeautifulSoup(html, "html.parser") print(soup.title) # 아래 3개 모두 h1 태크 하나를 가져오는 똑같은 결과가 나온다. 즉 방법이 여러가는 라는 말이다. #방법1 print(soup.h1) #방법2 h1 = soup.find('h1') print(h1) #방법3 h1 = soup.select_one('h1') print(h1) # find로 찾을 때 id는 id = 으로 넣고, class는 class_ 이렇게 언더바 넣어야 함 # class에 언더바를 넣는 이유는 class가 파이썬에 예약어로 등록되어 있기 때문이다. h1 = soup.find(class_="search_logo") print(h1) h1 = soup.find(id="special-input-logo") print(h1) service_name = soup.find(class_="service_name", string="증권") print(service_name) shortcut_item = soup.find(class_="shortcut_item", string="증권") print(shortcut_item) link_service = soup.find(class_="link_service", string="증권") print(link_service) shortcut_list = soup.find(class_="shortcut_list") print(shortcut_list) """출력값 https://www.naver.com <title>NAVER</title> <h1 class="search_logo" id="special-input-logo"></h1> <h1 class="search_logo" id="special-input-logo"></h1> <h1 class="search_logo" id="special-input-logo"></h1> <h1 class="search_logo" id="special-input-logo"></h1> <h1 class="search_logo" id="special-input-logo"></h1> None None None None"""
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
네이버에 view탭이 업데이트가 됐는지 없어졌네요... ㅠㅠ
네이버에 view탭이 업데이트가 됐는지 없어졌네요... ㅠㅠ뉴스 기사나 인플루언서로 따라가고 있기는 한데 강의 업데이트는 불가능하겠죠?
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 기본편
실행오류
실행버튼이 없었던것은 찾아보니 확장프로그램 미설치 문제인것 같아 설치했더니 생성되어서 이부분은 해결이 되었는데요...명령어 함수가 제대로 작동을 안하는것 같아요 강의설명대로 똑같이 입력했는데 저는 색깔도 안바뀌고 실행버튼 누르면 밑에 저렇게 뜨네요;;뭐가 문제일까요..ㅠㅠ
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 기본편
네이버쇼핑 무한스크롤 안되시는분들 모바일네이버로 실습해보세요
driver = webdriver.Chrome(service=service,options=chrome_options)driver.implicitly_wait(30)driver.get('https://m.naver.com')before_h = driver.execute_script('return window.scrollY')while True: driver.find_element(By.CSS_SELECTOR, "body").send_keys(Keys.END) time.sleep(1) after_h = driver.execute_script('return window.scrollY') print (after_h) if after_h == before_h: break before_h = after_h 네이버 쇼핑에서 무한스크롤 막힌건지 안되네요m.naver.com에서는 정상작동합니다우리 코드가 문제있는건 아닌것같으니 걱정말아요!
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
'str' object is not callable
안녕하세요 수업 듣는중 문제 푸는 21번 강의에서 'str' object is not callable 나와서 알려주신대로 코드를 작성했다가, 안되서 강의자료 복사에서 실행해도 error 납니다. 이런 경우에는 왜 이런 버그가 나오나요? 문제를 풀다가 1번도 아니고 여러 문제들이 계속 같은 문구가 나와서 이렇게 문의드립니다. 답변 주시면 감사하겠습니다 수업 21번 - 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영(다운로드 방법포함) 관련 문의는 1:1 문의하기를 이용해주세요.