묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
텔레그램 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("박효신")
-
미해결[2024 개정판] 이것이 진짜 엑셀자동화다 - 기본편
크롬창이 자꾸 꺼져요!!
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형태로 정보를 받을 수 있더라고요.이런 경우는 어떻게 크롤링하고 파싱하는지 알 수 있을까요?...
-
미해결[2024 개정판] 이것이 진짜 엑셀자동화다 - 기본편
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]) 아무것도 모르는 상태에서 시작했는데 좋은 강의 올려주신 덕분에 크롤링을 조금이나마 맛보게 된 것 같습니다. 어설프게나마 완성은 한거 같은데 궁금한게 있어서 질문 남깁니다.상품 링크를 타고 들어가야 원하는 정보를 긁어올 수 있는 사이트인데, 자바스크립트로 동작하게끔 되어 있습니다.시행착오 끝에 셀레니움으로 동작을 시켜봤는데제품 하나하나마다 새창을 열어서 정보를 가져온 후에 창을 닫고.. 다시 새창을 열어서 정보를 가져온 후에 창을 닫고..하다보니 시간도 너무 오래 걸리고 이렇게 하는게 맞는 건지 의구심이 듭니다.어떻게 해야 속도를 높힐 수 있을까요?
-
미해결[자동화 완전 정복] 인스타그램 휴대폰, 웹 자동화 프로그램 개발
weditor에서
위디터에서 인스타그램 앱화면 스크린샷찍었을때요.다른곳들은 정상적으로 네모칸들이 쳐져있는데요.하단 홈이나 검색창등등이 분할이 안되어있고 1가지로 통째로 통합되어있습니다. 이것을 어떻게해야할까요?추가로 방금 다시 실행해보는데..Unsupported deviceId: Android:06157df6f3285a38 [Finished 0s]어느정도됬었는데 이제 이게 발생합니다 빠른답변좀 부탁드려요..강의가 예전꺼라 뭐하나 해결하려하면 사소한것이나 바뀐부분에서 너무많은시간을 소요합니다 ㅜㅜ
-
미해결파이썬 셀레니움 고급편 (python selenium - 크롤링, 크롤러)
move_to_bottom 스크롤 부분
scroll_by_amount로 바뀌면서 시작하는 위치를 설정할 수 없게 된 것 같은데, 만약 인피니티 스크롤 하려고 할 때, 해당 마우스 포인터가 특정한 섹션에 있어야지 인피티니 스크롤을 할 수 있는 페이지라면 어떻게 설정을 해야될까요? 따로 sx, sy와 같이 해당 부분을 고정시키는 방법은 없을까요?
-
미해결LLM 데이터 분석 - 웹 크롤링부터 추천 시스템까지
실습 라이브러리 설치하기 (requirements.txt) 폴더?
안녕하세요. 강사님, 실습 라이브러리 설치하기 (requirements.txt) 위해서어느 폴더에 자료를 저장해야하나요? 가상환경 study로 들어가서 서브로 디렉토리를 따로 만들어야하나요? 아니면 C: drive 개인폴더에 자료저장 공간을 임의로 만들어서 진행해도 되는지요?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
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개가 다 안나오는 건가요? 무슨 차이가 있는건지 궁금합니다.
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
증권, 메일 등 서비스 목록을 못가져와요 ㅠㅠ
네이버 메인 화면에서 증권, 메일 등 서비스 목록을 못가져와요 ㅠㅠ클래스를 여러가지로 바꿔도 아래와 같이 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탭이 업데이트가 됐는지 없어졌네요... ㅠㅠ뉴스 기사나 인플루언서로 따라가고 있기는 한데 강의 업데이트는 불가능하겠죠?
-
미해결[자동화 완전 정복] 인스타그램 휴대폰, 웹 자동화 프로그램 개발
핸드폰으로 자동 클릭안됩니다.
code:import time, random import data import uiautomator2 as u2 serial = "********" device = u2.connect(serial) device(resourceId="com.instagram.android:id/row_feed_button_like").click() 실행 시 오류 C:\Users\user\AppData\Local\Programs\Python\Python310\python.exe C:/Users/user/Desktop/pythonProject1/insta/momobiletest.pyTraceback (most recent call last): File "C:\Users\user\Desktop\pythonProject1\insta\momobiletest.py", line 8, in <module> device(resourceId="com.instagram.android:id/row_feed_button_like").click() File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\uiautomator2\_selector.py", line 149, in click self.must_wait(timeout=timeout) File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\uiautomator2\_selector.py", line 344, in must_wait raise UiObjectNotFoundError({'code': -32002, 'data': str(self.selector), 'method': 'wait'})uiautomator2.exceptions.UiObjectNotFoundError: {'code': -32002, 'data': "Selector [resourceId='com.instagram.android:id/row_feed_button_like']", 'method': 'wait'} uiautomator2 버전은 3.0.10 adbutils 버전은 2.6.2 왜 계속 오류가 뜨고 안되는지 모르겠습니다.
-
미해결Selenium 기본 과정
현재 네이버 코드가 바뀐거 같습니다.
현재 네이버 플레이스 페이지에서 펼쳐서보기 -> 더보기로 바뀌었는데 이부분 대처할수 있는 방법이 있을까요?