묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
자료 다운 받기?
강의 잘 듣고 있습니다 . 자료는 어디서 다운 받나요?
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
문제를 풀며 가장 자연스럽게 익숙해지는 파이썬 기본: 문자열,리스트,조건문 활용1 공부하다 문의요
중간쯤에 나오는 문제인데요(1번)data1=int(input())if 100>=data1>=81: print("A")elif 80>=data1>=61: print("B")else: print("C")(2번)data1=int(input())if data1<=100 and data1 >=81: print("A")elif data1<=80 and data1>=61: print("B")else: print("C") 전 위의 1번 방식으로 풀었는데 강사님은 2번방식으로 하더라고요위의 2개가 차이가 있을까요??? 답은 동일하게 나오는데요~
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
코드를 입력해도 출력이 되지 않아요ㅜㅜ
영상 0:43 부분에 알려주신 코드 그대로 입력하고 shift+enter를 눌러 실행시켰는데 예시처럼 밑에 출력되지 않고 다음 행으로 넘어가기만 합니다ㅜㅜ 어떻게 해야 출력이 될까요? - 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
수집 갯수 부족 오류 문의
선생님에게서 파이썬을 처음 배우고, 덕분에 크롤링을 체험할 수 있었습니다.항상 감사한 마음으로 수강하고 있습니다.조악하지만, 아래와 같은 코드로 유튜브 크롤링 코드를 만들어 보았는데 예를들어,https://www.youtube.com/@user-rr5gv5ov5j와 같은 채널의 동영상은 대략 88개인데 최종적으로 수집되는 데이터는 11개 동영상에 한정되어 수집됩니다.제가 어느 부분을 놓치고 있는지 감을 잡기가 어렵네요.또한 개선해야할 부분이 있다면 검토 부탁드립니다.바쁘시더라도 검토를 부탁드리며 작성해본 코드를 첨부합니다. ^^except Exception as e: print("스크롤 중 에러가 발생하였습니다.: ", e) all_titles = soup.find_all('yt-formatted-string', class_='style-scope ytd-rich-grid-media') all_views = soup.find_all('span', class_='style-scope ytd-thumbnail-overlay-time-status-renderer') titles = [title.string for title in all_titles] views = [view.string.strip() for view in all_views]
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
강의 노트
안녕하세요?강의 노트가 제공된다고 했는데... 어디에서 찾아 볼 수 있는지요?
-
미해결파이썬 셀레니움 고급편 (python selenium - 크롤링, 크롤러)
게임 매크로에서 영감얻으셨다는 영상보고
궁금한게 있습니다.게임 매크로가 어려운게 맥 어드레스(?)도 가져가고 복잡하다고 하셨는데, 그럼 네이버나 구글 같은데서는 맥 어드레스 정보를 안가져갈까요? 이 강의를 토대로 구글이나 네이버 자동화 프로그램을 만들어도 효용이 있을까요?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
title["href"] 가져올 때
import requests from bs4 import BeautifulSoup url = "https://search.naver.com/search.naver?where=view&sm=tab_jum&query=" keyword = input("검색어를 입력하세요: ") url = url + keyword print(url) #개발자 도구 > 네트워크 > www.naver.com > 요청 헤더 > user-gent headers = { "User-Agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" } req = requests.get(url, headers=headers) html = req.text soup = BeautifulSoup(html, "html.parser") # 게시물별 view 구역 total_area = soup.select(".view_wrap") rank_num= 1 for area in total_area: ad = area.select_one(".link_ad") if ad: continue print(f"<<<{rank_num}>>>") title = area.select_one(".title_area") name = area.select_one(".name") href = area.select_one(".title_link") print(title.text) print(name.text) # print(title["href"] print(href["href"]) print() rank_num += 1 <에러 문구>line 41, in <module> print(title["href"]) File "/User/opt/anaconda3/envs/edu/lib/python3.9/site-packages/bs4/element.py", line 1573, in getitem return self.attrs[key]KeyError: 'href' 안녕하세요, 수업 잘 듣고 있습니다.저도 블로그 링크를 바로 가져오고 싶어서 print(title["href"]로 가져오려 했으나 keyError가 발생합니다. 우선 대안으로, href 변수를 반들고 따로 링크만 가져올 수 있는 코드를 추가하긴 하였으나 왜 키 에러가 발생하여 print(title["href"]로 링크를 바로 못 가져 오는 것인지가 궁금합니다.
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
멜론 : response406
멜론 강의 실습중 계속 406 리스폰스가 뜨는데 우회나 다른방법이없을까요?
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
문제를 풀며 가장 자연스럽게 익숙해지는 파이썬 기본: 데이터 구조 - 리스트1 이거 문제 풀다가 궁금한 점이 생겨서요~
두가지 질문이 생겨서요 1번) 리스트를 만들때요 input을 받고 넣어도 좋을 것 같아서 아래 같이 코드를 짰습니다.local2=list()local2.append(input())local2.append(input())local2.append(input())local2.append(input())local2-> 결과 : ['서울', '부산', '인천', '경기']이렇게 떴고요list 명령어를 써서 아래 같이 짜니까lang2=list('java','c','c++')lang.append('golang')lang->결과 : Cell In[63], line 1 lang2=list()'java','c','c++') ^ SyntaxError: unmatched ')'에러가 뜨더라고요 그래서 빨간색부분을 "()" 대신에 "[]"로 바꿨더니 되더라고요무슨 차이인가요?? 위의 입력을 받을때는 "()"로 해도 되었는데 직접리스트를 넣을때는 "[]"로 해야하는지요? 2번) 리스트 만들고 출력할때 print를 써도 된다고 해서 써봤는데 안되더라고요local3=['서울','부산','경기']print(local3)->결과 : TypeError Traceback (most recent call last) Cell In[69], line 2 1 local3=['서울','부산','경기'] ----> 2 print(local3) TypeError: 'str' object is not callable 뭐가 문제인 걸까요????
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
질문드려요
강의 녹화 시점때와 다르게 현재 뷰 메뉴 태그값들이 모두 바뀐것같아서 강사님 강의에 따라 위 코드를 작성하였는데 v['href']를 사용하면 오류가 나와요...v.select_one('a')['href'] 을 입력하면 #으로 나오고요...확인좀부탁드릴게여.. # 라이브러리 호출 import requests from bs4 import BeautifulSoup # 검색어 입력 search_word = input('검색어를 입력해주세요\t:\t') # 크롤링 페이지 입력 target_url = 'https://search.naver.com/search.naver?where=view&sm=tab_jum&query=' + search_word print(f'접속페이지\t:\t{target_url}') # 데이터 요청 req_get_url = requests.get(target_url) get_html = req_get_url.text parser_soup = BeautifulSoup(get_html, 'html.parser') # select를 활용하여 태그값에 해당하는 모든 값을 리스트화로 가져옴 raw_data = parser_soup.select('div.view_wrap') for index, v in enumerate(raw_data): index += 1 user_data = v.select_one('a.name').text #▶▷▶▷▶▷ 뷰 게시글 작성자 추출 try: #제목 태그를 의미하는 .title_link._cross_trigger 가 None이면, 제목을 의미하는 다른 태그인 .title_link 로 데이터 추출. 그 외 다른 태그값으로 인하여 None 발생을 통한 오류가 생기면 '제목없음'으로 오류 예외처리 진행 title_data = v.select_one('.title_link._cross_trigger').text.replace('\n','').replace('\t',' ') #▶▷▶▷▶▷ 뷰 게시글 제목① 추출 if title_data == None: title_data = v.select_one('.title_link').text.replace('\n','').replace('\t',' ') #▶▷▶▷▶▷ 뷰 게시글 제목② 추출 except: title_data = '제목없음' print(f'{index} 번째글\n사용자명\t:\t{user_data}\n게시글 제목\t:\t{title_data}')
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
zip 메서드를 활용해서 view 제목 및 작성자 불러오기
안녕하세요, 수업 잘 듣고 있습니다. 수업 녹화 당시와 현재와 웹페이지 클래스 명이 달라져서 작성자는 제 생각엔 .user_info 클래스를 사용하는 것 같아 사진과 같이 코드를 작성하고 실행하였으나출력문이 조용(?)합니다. 강의 영상을 보면 게시글 제목과 작성자 명이 함께 나오는데 제 코드는 "검색어를 입력하세요:" 외에 뜨는 출력 문이 없어어떤 것이 문제 인지 문의 드립니다.
-
해결됨내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
7.1 주식 일별 시세 데이터(Yahoo finance)
7.1 주식 일별 시세 데이터(Yahoo finance) yahoo finance에서 aapl로 검색하고, historical data를 클릭하고 기간을 5년으로 설정하고 Apply 버튼을 클릭하고, 일별시세 데이터를 더 많이 보이기 위해서 마우스 휠로 스크롤한 뒤에 Ctrl + f 로 일별시세 데이터 중 하나인 98,944,600를 입력하고검색하면(enter를 치면) '일치하는 항목이 없습니다.'라는메세지가 출력됩니다. 강의에서는 해당 데이터가 있는 페킷을 잘 선별해주는데 저는 아무리 해도 잘 안되네요. 무엇은 문제일지 짐작가시는 것이 있을 까요?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
네이버가 보니까 첫 화면이 리액트로 된 듯 한데요. ㅠㅠ
안녕하세요. 수업 잘 듣고 있습니다.다름이 아니라 네이버가 리액트를 메인에 적용한 듯 한데요혹시 제가 코드를 잘 못 넣은 건지 살펴봐 주실 수있는지요아직 다른 강좌는 듣지 않은 상태인 점 양해 바랍니다.좋은 하루되세요.import requests from bs4 import BeautifulSoup url = "https://naver.com" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" } req = requests.get(url, headers=headers) html = req.text soup = BeautifulSoup(html, "html.parser") print(soup.title)
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
엑셀에 몇몇 style 적용이 안돼요.
안녕하세요프로젝트 크롤링 엑셀보고서 프로그래밍 6에서10단계 셀에 border 넣기를 직접 수행해보는데주피터노트북에서 실행되어 엑셀파일은 만들어지는데border, paternfill 등 스타일이 적용이 안됩니다.ㅜㅜ다른 스타일은 잘 되는데 border, paternfill이 안돼서 엑셀 설정을 건드려야하는건지 여쭤봅니다.감사합니다.
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
네이버 뷰 페이지에서 제목 클래스 print할 때
안녕하세요, 잘 듣고 있습니다. 네이버 view탭 검색 결과 크롤링1을 보고, 따라하고 있습니다. 강사님 녹화하실 당시의 네이버와 현재 네이버 페이지가 구조가 좀 달라져서 제 나름대로 적용을 하려고 했으나 이해가 안되는 부분이 있어 문의 드립니다. 강사님이 쓰신 class명이 현재는 안 쓰이는 듯하여 현재 페이지 기준에 맞춰 class명을 작성한 후 출력을 했는데 '[]' 이렇게 빈 리스트 값이 나타났는데 왜 그런지 모르겠습니다.위 내용이 궁금하여 문의 드립니다.result = soup.select(".title_link.cross_trigger") print(result)
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
유튜브 크롤링
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 선생님파이썬 처음 깔아봤는데 덕분에 여기까지 왔습니다어떻게 이것저것 끼워넣어서 코드를 만들기는 했는데유튜브 크롤링시날짜 지정해서 그 날짜만 가져오고 싶습니다스크롤 없애고 날짜 지정을 넣고 싶은데 너무 어렵네요코드 수정 부탁드려도 될까요ㅠㅠfrom selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.chrome.options import Options from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from bs4 import BeautifulSoup import time import pyautogui import openpyxl # 검색어 입력 keyword = pyautogui.prompt("검색어를 입력하세요") # 엑셀 생성 wb = openpyxl.Workbook() ws = wb.create_sheet(keyword) ws.append(['번호', '제목', '조회수', '날짜', 'URL']) #열 너비 조절 ws.column_dimensions['A'].width = 5 ws.column_dimensions['B'].width = 80 ws.column_dimensions['C'].width = 20 ws.column_dimensions['D'].width = 15 ws.column_dimensions['E'].width = 80 # 브라우저 설정 chrome_options = Options() chrome_options.add_experimental_option("detach", True) chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"]) browser = webdriver.Chrome(options=chrome_options) # YouTube 검색 페이지로 이동 url = f"https://www.youtube.com/results?search_query={keyword}" browser.implicitly_wait(5) browser.maximize_window() browser.get(url) # 스크롤 횟수 scroll_count = 5 # 스크롤 수행 i = 1 while True: browser.find_element(By.CSS_SELECTOR, "body").send_keys(Keys.END) time.sleep(0.7) if i == scroll_count: break i += 1 # 동적으로 로딩되는 콘텐츠를 기다림 wait = WebDriverWait(browser, 10) wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "ytd-video-renderer #video-title"))) # 페이지 소스를 가져와 BeautifulSoup으로 파싱 html = browser.page_source soup = BeautifulSoup(html, 'html.parser') videos = soup.select("ytd-video-renderer") # 정보 추출 for i, video in enumerate(videos, 1): title = video.select_one("#video-title").text.strip() metadata = video.select_one("#metadata-line") views = metadata.find_all("span")[0].text.strip() if metadata else "조회수 0회" date = metadata.find_all("span")[1].text.strip() if metadata else "날짜 없음" # 각 영상의 URL 가져오기 video_url = video.select_one("#video-title").get("href", "") full_url = f"https://www.youtube.com{video_url}" print(title, views, date, full_url) ws.append([i, title, views, date, full_url]) # 브라우저 종료 browser.quit() # 엑셀 파일 저장 wb.save(f"{keyword}_유튜브_검색결과.xlsx")
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
파이썬을 통한 네이버api get 오류
안녕하세요 선생님. 유익한 수업내용과 스킬노하우 알려주셔서 감사드립니다. 제힘으로 구글링 및 gpt등으로 해결하려했으나 api 인증관련 조치방법 파악이힘들어서요,,, 포스트맨은 인증이되어 json 형태로 받아지나, 파이썬 코드로는 인증에러가 뜨는상황입니다. (아래사진참고부탁드립니다)노하우 및 고견 주시면 감사드리겠습니다.
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
유튜브 크롤링시 어려움
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요유튜브 크롤링 중에 이렇게 코드를 돌리면 전립선암의 증상과 진단을 위한 검사는? [AMC 병법] 조회수 0회 날짜 없음 모든 결과가 조회수0회 날짜없음으로 가져와집니다ㅠㅠ어디가 문제일까요? from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.chrome.options import Options import time from bs4 import BeautifulSoup # 브라우저 꺼짐 방지 chrome_options = Options() chrome_options.add_experimental_option("detach", True) # 불필요한 에러 메시지 없애기 chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"]) # 브라우저 생성 browser = webdriver.Chrome(options=chrome_options) url = "https://www.youtube.com/results?search_query=%EC%95%94" #웹페이지 해당 주소 이동 browser.implicitly_wait(5) #웹페이지가 로드될때까지 5초는 기다린다 browser.maximize_window() #화면 최대화 browser.get(url) #3번 스크롤하기 scroll_count = 3 i = 1 while True: #맨 아래로 스크롤을 내린다. browser.find_element(By.CSS_SELECTOR,"body").send_keys(Keys.END) #스크롤 사이에 페이지 로딩 시간 time.sleep(2) if i == scroll_count: break i += 1 #selenium - beautifulsoup 연동방법 html = browser.page_source soup = BeautifulSoup(html, 'html.parser') infos = soup.select("div.text-wrapper") for info in infos: #원하는 정보 가져오기 #제목 title = info.select_one("a#video-title").text try: #조회수 views = info.select_one("div#metadata-line > span:nth-child(1)").text #날짜 date = info.select_one("div#metadata-line > span:nth-child(2)").text except: views = "조회수 0회" date = "날짜 없음" print(title, views, date) browser.quit()
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
쿠팡 크롤링 상품 순서 질문
강의 들으며 똑같이 코드를 작성했습니다.다만, 로캣배송 badge_rocket 까지 작성했을 때, 막상 홈페이지에 나와있는 순위와 비교를 하며 보니 일치하지 않고 순서가 뒤죽박죽 되어 나와 있습니다. 또한 화면 상에서는 광고 표시가 없지만, 막상 html을 살펴보면 search-product search-product__ad-badge라고 되어 있는 경우도 있습니다. 혹 새로고침 할 때 마다 조금씩 바뀌어 제공하는 것 때문에 그런 것인지, 코딩 창과 홈페이지를 동시에 새로고침 해 보아도 순위가 정확하지 않습니다. 이런 상황에서 크롤링이 정확하게 되고 있는 지 어떻게 알 수 있나요?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
검색 창??
저 창에 제목 class를 붙여 넣으셔서 옆에 화살표로 막 살펴보시던데, 저는 그런게 없거든여. 혹시 어디서 찾을 수 있는건가여?