묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결LLM 데이터 분석 - 웹 크롤링부터 추천 시스템까지
강의동영상이 잘못 업로드 된거 같아요
안녕하세요. 강의 듣던 중에 제목과 다른 영상이 있어서 문의 드려요.섹션 5 - 프로젝트 2"Youtube 동영상 댓글분석 - LLM 모델로 감성 분류 및 평점 예측" 동영상이"Youtube 상품 리뷰 영상에서 상품정보를 추출, 요약" 과 동일한 영상입니다.잘못 업로드 된거 같아요확인 부탁드립니다.
-
미해결파이썬 셀레니움 고급편 (python selenium - 크롤링, 크롤러)
execute_cdp_cmd 코드가 작동하지 않습니다.
from user_agents import parse from selenium import webdriver from selenium.webdriver.chrome.options import Options import random, time # 한국에서 개통된 버전은 이런 데이터 들이 필요하다. def make_user_agent(ua, is_mobile): user_agent = parse(ua) model = user_agent.device.model platform = user_agent.os.family platform_version = user_agent.os.version_string + ".0.0" version = user_agent.browser.version[0] ua_full_version = user_agent.browser.version_string architecture ="x86" if is_mobile: # 모바일 버전 platform_info = "Linux armv81" architectur="" else: # PC 버전 platform_info = "Win32" model = "" RET_USER_AGENT = { "appVersion" : ua.replace("Mozilla/", ""), "userAgent" : ua, "platform" : f"{platform_info}", "acceptLanguage" : "ko-Kr, kr, en-US, en", "userAgentMetaData" : { "brands" :[ # 네트워크 탭 확인하고 넣기 {"brand":" Not A;Brand", "version":"99"}, {"brand":"Google Chrome", "bersion":f"{version}"}, {"brand":"Chromium", "version":f"{version}"} ], "fullVersion":f"{ua_full_version}", "platform":platform, "platformVersion":platform_version, "architectur":architecture, "model" : model, "mobile":is_mobile # True, False } } return RET_USER_AGENT pc_device = ["1920,1440","1920,1200","1920,1080","1600,1200","1600,900", "1536,864", "1440,1080","1440,900","1360,768" ] mo_device = [ "360,640", "360,740", "375,667", "375,812", "412,732", "412,846", "412,869", "412,892", "412,915" ] width, height = random.choice(mo_device).split(",") print(width, height) UA = "Mozilla/5.0 (Linux; Android 9; Mi A2 Lite Build/PKQ1.180917.001; AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/127.0.0.0 Safari/537.36'" options = Options() UA_Data = make_user_agent(UA, True) print(UA_Data) #UserAgent 속이기 options.add_argument(f"--user-agent={UA}") options.add_argument(f"--window-size={width}, {height}") options.add_argument("--disable-blink-features=AutomationControlled") driver = webdriver.Chrome(options=options) driver.execute_cdp_cmd("Network.setUserAgentOverride",UA_Data) driver.get('https://www.google.com') input() --아래 코드가 작동하지 않습니다. 이유가 뭘까요?driver.execute_cdp_cmd("Network.setUserAgentOverride",UA_Data) [ 버전 ]python 3.10.10selenium 4.13.0
-
미해결LLM 데이터 분석 - 웹 크롤링부터 추천 시스템까지
LLM 기능 사용시에 라이브러리 에러 문제
안녕하세요, 선생님 강의 잘 듣고 있습니다.공유 해 주신 코드를 실행 할 때 LLM 기능 사용할 때 에러가 발생되서 실행이 되지 않습니다. 에러코드 첨부 드립니다. ---------------------------------------------------------------------------RateLimitError Traceback (most recent call last)Cell In[14], line 29 26 # Chain 27 llm_chain = prompt | llm | output_parser---> 29 response = llm_chain.invoke({"text": text}) 31 responseFile ~\miniconda3\envs\study\Lib\site-packages\langchain_core\runnables\base.py:2499, in RunnableSequence.invoke(self, input, config) 2497 try: 2498 for i, step in enumerate(self.steps):-> 2499 input = step.invoke( 2500 input, 2501 # mark each step as a child run 2502 patch_config( 2503 config, callbacks=run_manager.get_child(f"seq:step:{i+1}") 2504 ), 2505 ) 2506 # finish the root run 2507 except BaseException as e: 생략 ~ 해결 방법이 있을까요?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
추가 강의 업데이트 있나요?
안녕하세요. 강의 잘 보고 있습니다.이제 강의는 모두 업데이트 완료된 건가요?네이버 부동산 매물도 크롤링으로 자동화 하고 싶은데 혹시 강의로 만드실 계획은 있으신가요?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
lambda 중에 문의가 있습니다.
강의 내용 외 개인적인 실습 사이트의 질문은 답변이 제공되지 않습니다.문제가 생긴 코드, 에러 메세지 등을 꼭 같이 올려주셔야 빠른 답변이 가능합니다.코드를 이미지로 올려주시면 실행이 불가능하기 때문에 답변이 어렵습니다.답변은 바로 제공되지 않을 수 있습니다.실력 향상을 위해서는 직접 고민하고 검색해가며 해결하는 게 가장 좋습니다.최대한 구글링을 동원해서 해보는 중인데 막히네요.모니터링 가서 로그 나오는것 까지 확인 했습니다. event, message, text 이렇게 표시 되는거요.def lambda_handler(event, context): result = json.loads(event["body"]) print(f"event : {event}") keyword = result["message"]["text"] news_crawler(keyword) 그다음 위의 코드 작성하고 run을 해보면 아래와 같이 body 키 문제가 있다고 나옵니다.무슨문제일까요...ㅜ"errorMessage": "'body'", "errorType": "KeyError", "requestId": "628cac7e-f4ae-41f3-9ba3-ba7a3e7f464f", "stackTrace": [ " File \"/var/task/lambda_function.py\", line 59, in lambda_handler\n result = json.loads(event['body'])\n"
-
미해결[신규 개정판] 이것이 진짜 엑셀자동화다 - 기본편
엑셀 파일 제목 중복되면 (1),(2) 씩 늘어나게 해서 생성하게 하기
파일이 중복되면 다시 지웠다가 파이썬을 실행시켜야 하는데 그걸 막기 위해 코드 추가했습니다.import openpyxl import random import os from datetime import datetime, timedelta wb = openpyxl.Workbook() ws = wb.active base_path = '파일이 있는 폴더 경로 ex)c://user' base_filename = '파일명.xlsx' full_path = os.path.join(base_path, base_filename) # 파일명이 겹치면 숫자를 붙여가며 저장 if os.path.exists(full_path): version = 1 while os.path.exists(full_path): name, ext = os.path.splitext(base_filename) full_path = os.path.join(base_path, f"{name} ({version}){ext}") version += 1 ws.title = 'automation' item = [['32인치 모니터', 350000], ['마우스 패드', 20000],['게이밍 마우스', 40000], ['기계식 키보드',120000]] # ws['A1'] = '순번' # ws['B1'] = '제품명' # ws['C1'] = '가격' # ws['D1'] = '수량' # ws['E1'] = '합계' # ws['F1'] = '날짜' ws.append(['순번','제품명','가격','수량','합계','날짜']) first_date = datetime(2024, 3, 1) for i in range(2, 12): current_date = first_date + timedelta(i) rand_ind = random.randint(0,3) selected_item = item[rand_ind] ws.append([i-1, selected_item[0], selected_item[1], random.randint(1,8), f'=C{i}*D{i}', current_date.strftime('%Y-%m-%d')]) # strftime으로 나타내야 엑셀에서 날짜형식으로 뜬다. wb.save(full_path)
-
미해결[신규 개정판] 이것이 진짜 엑셀자동화다 - 기본편
엑셀 다루기 기초에서 날짜 1일씩 늘어나게 하기
from datetime import datetime, timedelta import openpyxl # 날짜 시작 start_date = datetime(2030, 1, 1) # 데이터 추가(2) ws.cell(row=2, column=1, value= start_date.strftime('%Y-%m-%d')) ws.cell(row=2, column=2, value = 20000) ws.cell(row=2, column=3, value='삼성tv') ws.cell(row=2, column=4, value = 4) ws.cell(row=2, column=5, value='=B2*D2') for i in range(3,7): current_date = start_date + timedelta(days=i-2) ws.cell(row = i, column = 1, value = current_date.strftime('%Y-%m-%d')) 엑셀 다루기 기초 - openpyxl 수업에서 데이터 추가할 때,3번재 행 셀부터 날짜가 1일씩 늘어나게 작성해 보았습니다.
-
미해결LLM 데이터 분석 - 웹 크롤링부터 추천 시스템까지
강의에서 소스코드는 어디서 볼 수 있을까요?
찾아봤는데 못찾겠어서 질문 드립니다,,,,
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
텔레그램 sendMessage 시 400에러가 뜹니다.
message = input("message: ") data = {"chat_id":chat_id, "text":message} url = f"http://api.telegram.org/bot{bot_token}/sendMessage" res = requests.get(url, data=data) print(res) if res.status_code == 200: print(json.loads(res.text)) 위처럼 작성하고 실행해보면 response 400에러가 발생합니다. getUpdate 메서드는 정상실행이 되는데 뭐가 문제인지 모르겠습니다....url 공백이 있으면 400에러가 발생한다고 검색은 해봤는데 , 전 공백도 없는것 같고.
-
미해결[자동화 완전 정복] 인스타그램 휴대폰, 웹 자동화 프로그램 개발
site:instagram.com -inurl:explore/tags -inurl:p -inurl:reel intitle:'{keyword}'" 이 코드는 이제 최신게시물을 불러오지 못합니다.
site:instagram.com -inurl:explore/tags -inurl:p -inurl:reel intitle:'{keyword}'"위 코드처럼 키워드를 구글에 검색하여 불러왔지만 최신 게시물이 아닌 오래된 순서로 뷰에 보여지는 것 같습니다.
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
ftp 로긴 문제입니다. ㅜ
강의 내용 외 개인적인 실습 사이트의 질문은 답변이 제공되지 않습니다.문제가 생긴 코드, 에러 메세지 등을 꼭 같이 올려주셔야 빠른 답변이 가능합니다.코드를 이미지로 올려주시면 실행이 불가능하기 때문에 답변이 어렵습니다.답변은 바로 제공되지 않을 수 있습니다.실력 향상을 위해서는 직접 고민하고 검색해가며 해결하는 게 가장 좋습니다.쿠팡 아이템 리스트를 html로 작성해서 호스팅 주소에 올리는 과정입니다. 파이썬 파일 돌리면 로그인 과정에서 실패합니다. 주소 id pw는 제대로 입력한 것 확인 했는데 무엇이 문제인지 알려주세요...
-
미해결네이버 카페 DB 추출 프로그램 개발 강의 [selenium]
로직이 바껴서 실습이 전혀 안됨
로직이 바껴서 실습이 전혀 안되고 있습니다. 뭔가 조치를 취하셔야 될거같아요1달 전에도 문의 드렸는데 그대로네요
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
XPATH 네이버에서 카페 찾는 과정 문의입니다.
강의 내용 외 개인적인 실습 사이트의 질문은 답변이 제공되지 않습니다.문제가 생긴 코드, 에러 메세지 등을 꼭 같이 올려주셔야 빠른 답변이 가능합니다.코드를 이미지로 올려주시면 실행이 불가능하기 때문에 답변이 어렵습니다.답변은 바로 제공되지 않을 수 있습니다.실력 향상을 위해서는 직접 고민하고 검색해가며 해결하는 게 가장 좋습니다.네이버에서 뉴진스 검색하면 view 탭이 없어서 카페 탭으로 대신 이동해보려고 합니다. XPATH 사용해서 카페로 이동할 때 >>"//*[text()='카페']"<< 이 방식을 사용하려고 하는데요 웹에서 '카페' 키워드 검색하면 텍스트가 6개 나옵니다. 원하는 요소 text가 여러개 있는 경우 어떻게 찾아나가는지 궁금합니다. 아래와 같이 해봤는데 안되었어요. driver.find_elements(By.XPATH, "//*[text()='카페']")[3].click()
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
셀레니움 By.XPATH 를 이용한 키워드 입력 작성 질문입니다.
By.XPATH를 이용한 태그 선택과 키워드 입력 방법 강의를 들었는데요. 강의에서 말씀하신대로 코드를 작성하였는데 키워드가 검색창에 입력이 되지 않습니다. 개발자도구에서 확인한 네이버 검색란 태그를 다음과 같이 확인하였습니다. 제가 입력한 코드는 아래와 같습니다. from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from webdriver_manager.chrome import ChromeDriverManager import time options = Options() options.add_argument("--start-maximized") options.add_experimental_option("detach", True) service = Service(ChromeDriverManager().install()) driver = webdriver.Chrome(service=service, options=options) url= "https://naver.com" # 요소 선택하는 법 # # driver.find_element(By.CLASS_NAME) # driver.find_element(By.ID) # driver.find_element(By.CSS_SELECTOR) # driver.find_element(By.NAME) # driver.find_element(By.TAG_NAME) # driver.find_element(By.XPATH) # driver.find_element(By.LINK_TEXT) # driver.find_element(By.PARTIAL_LINK_TEXT) driver.get(url) time.sleep(2) """ <input id="query" name="query" type="search" title="검색어를 입력해 주세요." placeholder="검색어를 입력해 주세요." maxlength="255" autocomplete="off" class="search_input" data-atcmp-element=""> """ driver.find_element(By.XPATH, '//input[@title="검색어를 입력해주세요."]').send_keys("박효신")
-
미해결[신규 개정판] 이것이 진짜 엑셀자동화다 - 기본편
크롬창이 자꾸 꺼져요!!
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options from webdriver_manager.chrome import ChromeDriverManager chrome_options = Options() chrome_options.add_experimental_option("detach", True) service = Service(executable_path=ChromeDriverManager().install()) webdriver.Chrome(service=service, options=chrome_options) chrome_options.add_experimental_option("excludeSwitches",["enable-logging"]) driver = webdriver.Chrome() driver.get('https://nid.naver.com/nidlogin.login?svctype=262144') driver.maximize_window() id = driver.find_element(By.CSS_SELECTOR, "#id") id.send_keys("제 네이버 아이디 입니당")ㅜㅜ자꾸 크롬창이 꺼지는데 어떻게 해야할까요 좋은 강의 항상 감사합니다! ;)
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
쿠팡 이미지 파일 다운받기에서 동일하게 코드 작성 후 요청하였지만 파일 다운로드가 안됩니다.
쿠팡 상품 썸네일 전체 다운받기 강의에서동일하게 코드 작성 후 실행하였지만, 다른 크롤링 정보는 정상작동하지만, 파일이 지정된 폴더로 다운이 되지 않습니다. <작성한 코드>import requests from bs4 import BeautifulSoup base_url = "https://www.coupang.com/np/search?component=&q=" keyword = input("검색할 상품을 입력하세요 : ") url = base_url + keyword 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" } cookie = { "a" : "b" } req = requests.get(url, timeout=5, headers=headers, cookies=cookie) html = req.text soup = BeautifulSoup(html, "html.parser") items = soup.select("[class=search-product]") rank = 1 for item in items: badge_rocket = item.select_one(".badge.rocket") if not badge_rocket: continue name = item.select_one(".name") price = item.select_one(".price-value") thumb = item.select_one(".search-product-wrap-img") link = item.select_one("a")['href'] print(f"{rank}위") print(item["class"]) print(name.text) print(f"{price.text} 원") print(f"https://www.coupang.com{link}") # print(thumb) if thumb.get("data-img-src"): img_url = f"http:{thumb.get('data-img-src')}" else: img_url = f"http:{thumb['src']}" print(img_url) print() img_req = requests.get(img_url) with open(f"07_coupang/{rank}.jpg", "wb") as f: f.write(img_req.content) rank+=1 키워드는 '노트북'이고, 저장하려는 폴더 이름은 07_coupang, 위치는 "C:\project\Webcrawling\07_coupang" 입니다.어떤 것이 문제일까요?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
파이썬에 키워드를 치는게 아닌...
안녕하세요 초보입니다.파이썬에 키워드를 안치고 주기적으로 뉴스 등을 크롤링하여 텔레그램으로 보낼수도 있을까요?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
50프로 수강중입니다~
현재 50프로 수강을 하면 진짜 많은 도움 받고 있습니다. 감사합니다.네이버 플레이스를 크롤링하려다 보니 json형태로 정보를 받을 수 있더라고요.이런 경우는 어떻게 크롤링하고 파싱하는지 알 수 있을까요?...
-
미해결[신규 개정판] 이것이 진짜 엑셀자동화다 - 기본편
mouseInfo
import pyautogui pyautogui.mouseInfo() 이렇게 해서 실행하면터미널에 This probably means that Tcl wasn't installed properly.계속 이렇게만 뜹니다ㅜㅜ뭐가 문제인걸ㄲㅏ요?좋은 강의 감사합니다! 😃
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
제품 링크를 타고 들어가야 원하는 정보가 나오는 사이트
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]) 아무것도 모르는 상태에서 시작했는데 좋은 강의 올려주신 덕분에 크롤링을 조금이나마 맛보게 된 것 같습니다. 어설프게나마 완성은 한거 같은데 궁금한게 있어서 질문 남깁니다.상품 링크를 타고 들어가야 원하는 정보를 긁어올 수 있는 사이트인데, 자바스크립트로 동작하게끔 되어 있습니다.시행착오 끝에 셀레니움으로 동작을 시켜봤는데제품 하나하나마다 새창을 열어서 정보를 가져온 후에 창을 닫고.. 다시 새창을 열어서 정보를 가져온 후에 창을 닫고..하다보니 시간도 너무 오래 걸리고 이렇게 하는게 맞는 건지 의구심이 듭니다.어떻게 해야 속도를 높힐 수 있을까요?