묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
패턴으로 실습하며 익히기: HTML/CSS 이해를 바탕으로 크롤링하기 9분47초 질문드립니다.
섹션3 마지막강의의 9분 47초 내용입니다.위 사진은 제가 소스 코드를 땄을 때 사진이고 저는 div tag에 class가 두개가 아닌 하나로 나타나있습니다. 왜 같은 링크인데 소스코드가 달라진지 모르겠습니다.그리고 저렇게 속성이 여러개일때는 find함수 안에 ('div',attrs={'class':'layer_body' , 'data-translation':'true'})라고 작성하면 될까요? - 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
16강 데이터시각화 코드 오류
안녕하세요!16강 <쉽게 알아보는 그래프 데이터 정규화 - 2개 요인 상관관계 분석> 수업을 들으며 따라 해보던 중,가장 마지막에 설명해주신 코드를 실행시키면 오류메시지가 뜹니다. 원인을 알 수 없어 문의 드립니다.제가 작성한 콜랩노트 입력코드plt.figure(figsize=(20,10)) plt.plot(df_covid19_scaled_to_dataframe[0], color='b') plt.plot(df_customer_prices_scaled_to_dataframe[0], color='r') plt.legend(['confirmed covid-19','customer prices after covid-19'])에러메시지--------------------------------------------------------------------------- NameError Traceback (most recent call last) <ipython-input-17-813ac38c1cb0> in <cell line: 2>() 1 plt.figure(figsize=(20,10)) ----> 2 plt.plot(df_covid19_scaled_to_dataframe[0], color='b') 3 plt.plot(df_customer_prices_scaled_to_dataframe[0], color='r') 4 plt.legend(['confirmed covid-19','customer prices after covid-19']) NameError: name 'df_covid19_scaled_to_dataframe' is not defined <Figure size 2000x1000 with 0 Axes>
-
미해결일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
13강 시각화함수 결과 그래프에 관한 문의
선생님 안녕하세요.직접 크롤링한 리뷰데이터의 텍스트로 시각화 실습을 해보니 신기하기도 하고, 앞으로 잘 활용하고 싶다는 생각이 드는데요.결과 그래프를 어떻게 해석하는 것이 좋을지 약간의 가이드를 여쭙고 싶습니다 :)키워드 크기 : 사용 빈도수에 따라 키워드 크기가 결정될 것 같은데, 맞을까요?x,y축 해석 : x축과 y축이 각각 무엇을 의미하는지 궁금합니다.색상도 어떤 특정한 의미가 있을까요? *.*너무 흥미로워서 질문을 드리게 되네요. 감사합니다. (예) 뷰티디바이스 리뷰 크롤링
-
미해결일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
9강 코드 입력 시 에러
안녕하세요!9강 (네이버쇼핑) 카테고리별 인기검색어 크롤링 강의자료 내 공유해주신 코드 정보를 바탕으로 제 연습노트에서 따라 작성해보았는데요.rank_info_list[0].get_text().find("위") 코드 실행하면서부터 오류 메시지가 뜨는데, 해결 방법 있을지 문의 드립니다. *입력코드 rank_info_list[0].get_text().find("위")*에러 메시지--------------------------------------------------------------------------- IndexError Traceback (most recent call last) <ipython-input-29-a773d15d80f4> in <cell line: 2>() 1 # rank_info_list[0].get_text().find("상품펼치기") ----> 2 rank_info_list[0].get_text().find("위") IndexError: list index out of range 감사합니다:)
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
html에 a id가 나오지 않습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
소스코드 실행오류
안녕하세요 확인해보니 강의자료에 붙어있는 소스코드 링크는 옛날 소스코드가 들어가 있어서 업데이트가 필요할 거 같습니다 그리고 전달 주신 소스 링크 안에서는 코드가 잘 돌아가는데 저는 두번째 섹션 코드를 돌리면 TypeError Traceback (most recent call last) <ipython-input-25-e1d24ca4db7f> in <cell line: 48>() 46 options.add_argument('--headless') 47 options.add_argument('--no-sandbox') ---> 48 driver = webdriver.Chrome(service=service, options=options) TypeError: WebDriver.__init__() got an unexpected keyword argument 'service'이런 오류가 나옵니다 드라이버 업데이트를 해서 그런걸까요??
-
해결됨일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
크롤링 자동화 실습(3) 질문
안녕하세요 강사님return document.getElementsByClassName(\"link_text\")[${loopNum}].text.replace(String.fromCharCode(0),' ') 위 오류가 뭔지 잘 모르겠습니다.설명해주시면 감사하겠습니다:) 항상 빠른 답변 감사합니다.
-
미해결일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
5강 크롬 드라이버 코드 오류+크롬 드라이버 자동 업데이트 코드 질문
안녕하세요 강사님 5강 코드 오류가 났는데크롬 드라이브가 업데이트되어서 그런 걸까요?그리고 인터넷 서치해보니 자동 업데이트 코드가 있다던데 해당 강의에 적용 가능한지도 추가 질문드립니다:) [오류코드]driver = webdriver.Chrome('chromedriver', options=chrome_options)
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
안녕하세요 선생님 여기에 이런 질문을 해도될지 모르겠지만 부탁드립니다ㅠㅠ
셀레니움 크롬 드라이버를 배우고 웹하드 크롤링을 하려고 하는데 예기치 못한 상황이 생겼습니다... https://smartfile.co.kr/ 스마트파일이라는 사이트를 크롤링하려고 하는데 일단 크롬드라이버로 사이트에 접속을하고원하는 카테고리의 정보를 (페이지 번호, 개수 등등)을 넣어서 beautiful soup로 받아오려고 했지만 특정 카테고리에 가서 url을 그대로 복사하고 브라우저에서 복사한 url을 그대로 입력후 접속을 하니까 smart file이라는 글자만 나오고 자료가 나오지 않는 상황이 생깁니다..그래서 뭔가 막아놨구나 생각해서 chrome driver로 카테고리를 클릭해서 들어가려고 코드를 짰는데 카테고리를 클릭하니까 구글로 이동이됩니다. 뭔가 되게 많이 막아놓은것같은데 자바스크립트 명령어로 클릭을 해봐도 동일한 결과가 나옵니다 어떻게 하면 좋을까요 부탁드립니다... 이것은 driver를 생성하는 모듈입니다""" 크롬 드라이버 생성 및 설정 모듈 """ from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options # 크롬 드라이버 자동 업데이트 from webdriver_manager.chrome import ChromeDriverManager def create_driver(): # 크롬 브라우저 꺼짐 방지 chrome_options = Options() chrome_options.add_experimental_option('detach', True) # 불필요한 에러 메시지 없애기 chrome_options.add_experimental_option('excludeSwitches', ['enable-logging']) # 크롬 드라이버 최신 버전 설치 service = Service(executable_path=ChromeDriverManager().install()) # 드라이버 객체 생성 driver = webdriver.Chrome(service=service, options=chrome_options) driver.service = service driver.implicitly_wait(10) driver.maximize_window() return driver 이것은 크롬드라이버를 생성해서 크롤링을하려고 크롬드라이버로 접속해서 해당 url에 접속하는 모듈입니다import time from selenium import webdriver from selenium.webdriver.common.by import By def execute_crawling(driver: webdriver.Chrome, url: str): for i in range(2): driver.get(url) time.sleep(2) if i == 0: menu_book = driver.find_element(By.CSS_SELECTOR, '#wrap > div.wrap-nav-wrap > div > ul.depth1 > li.menutop_DOC.m9') driver.execute_script("arguments[0].click();", menu_book) time.sleep(1)
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
네이버 쇼핑 크롤링 1
강의 : 네이버 쇼핑 크롤링 1 , 11:14 시점에서 막힙니다. from bs4 import BeautifulSoup import requests keyword = input("검색할 제품을 입력하세요 : ") url = "https://search.shopping.naver.com/search/all?query={keyword}" user_agent = "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Mobile Safari/537.36" headers = {'User-Agent': user_agent} req = requests.get(url, headers=headers) html = req.text # print(html[:1000]) 확인용 soup = BeautifulSoup(html, "html.parser") base_divs = soup.select("[class^=product_item]") # product_item 로 클래스 이름이 시작되는 클래스 # print(base_divs) print(len(base_divs)) for base_div in base_divs: title = base_div.select_one("[class^=product_link]") print(title.text) 우선 강의에서는 basicLis_item, basicList_link 로 했는데 현재 네이버 쇼핑몰에서는 product_item***, product_link*** 로 되어 있습니다. 아래 스샷처럼요. 그런데 코드를 치니까 이상한게 나와요 자꾸..이유가 뭘까요 ??
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
셀레니움 정상 작동 되다가 오늘부로 갑자기 오류가 발생
안녕하세요. 강의를 잘 수강하고 있습니다.다름이 아니라 셀레니움으로 작성했던 코드들이 정상적으로 모두 잘 작동되다가 오늘부로 갑자기 오류가 발생하여 문의드립니다!오류를 해결하기 위해 버전 업그레이드도 모두 하였고, 재부팅도 해보았지만 셀레니움으로 작성했던 모든 코드들에서 맨 아래와 같은 오류가 발생했습니다 ㅠㅠ 코드는 아래와 같습니다.# -*- coding: utf-8 -*- # 외우는거 아님. 그냥 필요할 때 복붙 from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By import time # 크롬 드라이버 자동 업데이트 from webdriver_manager.chrome import ChromeDriverManager #브라우저 꺼짐 방지 chrome_options = Options() chrome_options.add_experimental_option("detach", True) # 불필요한 에러 메시지 없애기 chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"]) service = Service(executable_path=ChromeDriverManager().install()) browser = webdriver.Chrome(service=service, options=chrome_options) # 웹페이지 해당 주소 이동 browser.get("https://www.naver.com")오류 메시지는 다음과 같습니다.Traceback (most recent call last): File "c:\pratice_crolling\실습4_셀레니움 기본 설정\[기초복붙용]셀레니움 기본 설정.py", line 21, in <module> File "C:\Users\hyeonseok\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\chrome.py", line 39, in install driver_path = self._get_driver_path(self.driver) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\hyeonseok\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\core\manager.py", line 30, in getdriver_path file = self._download_manager.download_file(driver.get_driver_download_url()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\hyeonseok\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\drivers\chrome.py", line 40, in get_driver_download_url driver_version_to_download = self.get_driver_version_to_download() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\hyeonseok\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\core\driver.py", line 51, in get_driver_version_to_download self._driver_to_download_version = self._version if self._version not in (None, "latest") else self.get_latest_release_version() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\hyeonseok\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\drivers\chrome.py", line 62, in get_latest_release_version resp = self._http_client.get(url=latest_release_url) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\hyeonseok\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\core\http.py", line 37, in get self.validate_response(resp) File "C:\Users\hyeonseok\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\core\http.py", line 16, in validate_response raise ValueError(f"There is no such driver by url {resp.url}")ValueError: There is no such driver by url https://chromedriver.storage.googleapis.com/LATEST_RELEASE_115.0.5790
-
미해결Node.js로 웹 크롤링하기
puppeteer 관련
headless : false 로 설정해서 실행을 하면...생각보다 자주 크로니움이 많이 튕기며 오류를 발생시킵니다.puppeteer 와 puppeteer-core 업데이트도 진행했고, 크롬브라우져도 최신버젼을 사용하고 있습니다. 혹시 팁있을까요?
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
직접 작성해보며 익숙해지기: 크롤링 기본 연습문제 풀기 (업데이트) 4/5번 질문입니다
직접 작성해보며 익숙해지기: 크롤링 기본 연습문제 풀기 (업데이트)예제 사이트 크롤링연습 4/5번문제 질문입니다.select_one을 사용하지 않고, import requestsfrom bs4 import BeautifulSoupurl = 'https://davelee-fun.github.io/'res = requests.get(url)soup = BeautifulSoup(res.content, 'html.parser')box = soup.select('section.recent-posts')items = box[0].select('h4.card-text')for item in items: print(item.get_text().strip())이런 식으로 select를 사용해서 분리하면 안되는건가요? 원소가 하나인 리스트가 되는걸로 이해해서 [0]을 사용하고 그 후에 h4.card=text를 사용하면 출력은 똑같이 되는데, 차후 크롤링 할때 이렇게 이해하면 문제가 있을까요?
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
selenium 에 대한 강의는 따로 없나요?
selenium 에 대한 강의는 따로 없나요?
-
해결됨Node.js로 웹 크롤링하기
6-3 proxy-database 관련
sequelize-cli 까지 설치가 된거 같긴 한데... sequelize init 을 누르면 그림과 같이 오류가 떠요~ mac 에서 nvm 도 설치하고, 이것저것 계속 했는데도 잘 안됩니다. 아래 작업도 했는데도, 안돼서 진도를 3시간째 못나가고 있네요. 도움 주시면 감사하겠습니다. ㅠㅠ 정말 열심히 듣고 있는데.. ㅠ
-
해결됨일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
6강 셀레니움 module import 관련
안녕하세요 선생님! 수업 감사합니다:)6강에서 웹크롤링 코드 설명해주신 부분 관련입니다.제 연습용 콜랩 노트에서 선생님께서 공유해 주신 코드를 위에서부터 차곡차곡 붙여넣으며 실행해보던 중이었는데요.셀레니움 module import 부분에서부터 정상적으로 실행이 되지 않는 것 같습니다... 하단 오류 메시지를 어떻게 해석해야 할지 몰라, 해결방법 문의드립니다.입력한 코드################################################################################################################################################################ # 2023.07.09 셀레니움 버전업으로 인한 코드 변경 ################################################################################################################################################################ from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By import time from time import sleep from bs4 import BeautifulSoup import requests import re import os # Dataframe import pandas as pd df = pd.DataFrame(columns=['idx','star','review']) service = Service(executable_path="chromedriver") options = webdriver.ChromeOptions() options.add_argument('--headless') options.add_argument('--no-sandbox') driver = webdriver.Chrome(service=service, options=options)실행 시 결과 메시지--------------------------------------------------------------------------- WebDriverException Traceback (most recent call last) <ipython-input-21-e1d24ca4db7f> in <cell line: 48>() 46 options.add_argument('--headless') 47 options.add_argument('--no-sandbox') ---> 48 driver = webdriver.Chrome(service=service, options=options) 3 frames /usr/local/lib/python3.10/dist-packages/selenium/webdriver/common/service.py in assert_process_still_running(self) 108 return_code = self.process.poll() 109 if return_code: --> 110 raise WebDriverException(f"Service {self._path} unexpectedly exited. Status code was: {return_code}") 111 112 def is_connectable(self) -> bool: WebDriverException: Message: Service /usr/bin/chromedriver unexpectedly exited. Status code was: 1
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
'블랙핑크' 검색 시에만 오류가 뜨는 현상
안녕하세요. 강사님 아래 코드에서 '블랙핑크' 를 검색할 때 Traceback (most recent call last): File "c:\pratice_crolling\심화1_\03_스포츠 뉴스 크롤링.py", line 52, in <module> print(article_title.text.strip()) ^^^^^^^^^^^^^^^^^^AttributeError: 'NoneType' object has no attribute 'text'다음과 같은 오류가 뜹니다 ㅠㅠ CSS 선택자, 오타도 모두 맞게 확인이 되는데 왜 저 검색어만 오류가 뜰까요ㅠㅠ?# -*- coding: euc-kr -*- # 네이버에서 손흥민, 오승환과 같은 스포츠 관련 검색어 크롤링하기 import requests from bs4 import BeautifulSoup import pyautogui import time search = pyautogui.prompt("어떤 것을 검색하시겠어요?") response = requests.get(f"https://search.naver.com/search.naver?sm=tab_hty.top&where=news&query={search}&oquery=%EC%98%B7%EC%9C%BC%ED%99%98&tqi=i74G%2FdprvTossZPeMhCssssssko-058644") html = response.text soup = BeautifulSoup(html, "html.parser") articles = soup.select(".info_group") for article in articles: # '네이버뉴스' 가 있는 기사만 추출한다. (<a> 하이퍼링크가 2개 이상인 경우에 해당) links = article.select("a.info") if len(links) >=2 : url = links[1].attrs['href'] response = requests.get(url, headers={'User-agent':'Mozila/5.0'}) html = response.text soup = BeautifulSoup(html, "html.parser") # 스포츠 기사인 경우 if "sports" in url: article_title = soup.select_one("h4.title") article_body = soup.select_one("#newsEndContents") # 본문 내에 불필요한 내용 제거 p태그와 div태그의 내용은 출력할 필요가 없다. 없애주자. p_tags = article_body.select("p") # 본문에서 p 태그인 것들을 추출 for p_tag in p_tags: p_tag.decompose() div_tags = article_body.select("div") # 본문에서 div 태그인 것들을 추출 for div_tag in div_tags: div_tag.decompose() # 연예 기사인 경우 elif "entertain" in url: article_title = soup.select_one(".end_tit") article_body = soup.select_one("#articeBody") # 일반 뉴스 기사인 경우 else: article_title = soup.select_one("#title_area") article_body = soup.select_one("#dic_area") # 출력문 print("==================================================== 주소 ===========================================================") print(url.strip()) print("==================================================== 제목 ===========================================================") print(article_title.text.strip()) print("==================================================== 본문 ===========================================================") print(article_body.text.strip()) #strip 함수는 앞 뒤의 공백을 제거한다. time.sleep(0.3)
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
스크래핑 오류
import requestsfrom bs4 import BeautifulSoupres = requests.get('https://v.daum.net/v/20170615203441266')soup = BeautifulSoup(res.content,'html.parser')data = soup.find('div', 'layer body') data.get_text() 을 작성했는데, 'NoneType' object has no attribute 'get_text'오류가 뜨더라고요. 28강에 적힌 스크래핑 코드와 좀 달라서 형식은 같게 넣었는데 오류라, 무엇이 문제인지 알 수 있을까요?
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
서브라임 패널에 폴더 안 뜸
47강을 듣는 와중에, 서브라임 패널에서 폴더를 생성하라 하셨는데, 제 패널에는 folders는없고, open files만 있어서요. 혹시 해당 폴더를 보려면 어디를 눌러야할까요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
네이버 상품정보 수집하기에서 상품정보에 광고 정보는 htm
안녕하세요, 스타트코딩 선생님!CSS 선택자 부분 중광고 상품정보 : adProduct_info_area__dTSZf일반 상품정보 : product_info_area__xxCTi이렇게 name 으로 지정할 CSS 선택자가 다르지만,price 로 지정할 CSS 선택자는 price_num__S2p_v 로 두개 모두 동일합니다. 따라서 코드를 작성할 때 상품정보의 수가 일치하지 않는 오류가 생기는 이럴땐 어떻게 해결해야 하는지 알려주세요. 상품정보의 수가 일치하지 않는 부분광고 상품정보 : adProduct_info_area__dTSZf (모두 8개)일반 상품정보 : product_info_area__xxCTi (모두 40개)가격정보 : price_num__S2p_v (모두 48개) 답변 부탁드립니다.감사합니다.