묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
프레임 전환
안녕하세요 강사님! 강의 너무 잘 만들어주셔서 감사합니다. 강사님과 같은 코드를 사용하여 iframe을 전환했는데 저는 자꾸 NoSuchElementException 오류가 뜨네요 위 부분 코드도 그대로 따라했는데 같이 올려봅니다! #셀레니움 기본 템플릿 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys import time import pyperclip user_id = "제 아이디" user_pw = "제 비밀번호" #크롬드라이버 생성 driver = webdriver.Chrome() #페이지 이동 driver.get("https://nid.naver.com/nidlogin.login?mode=form&url=https://www.naver.com/") # time.sleep(1) #아이디 입력 id = driver.find_element(By.CSS_SELECTOR, '#id') pyperclip.copy(user_id) id.send_keys(Keys.CONTROL,'v') # time.sleep(1) #패스워드 입력 pw = driver.find_element(By.CSS_SELECTOR, '#pw') pyperclip.copy(user_pw) pw.send_keys(Keys.CONTROL,'v') # time.sleep(1) #로그인버튼 클릭 driver.find_element(By.CSS_SELECTOR,'#log\\.login').click() #드롭다운 메뉴 클릭 driver.find_element(By.CSS_SELECTOR,'#account > div.MyView-module__my_menu___eF24q > div > div > ul > li:nth-child(1) > a > span.MyView-module__item_text___VTQQM').click() #메일함버튼 클릭 driver.find_element(By.CSS_SELECTOR,'#account > div.MyView-module__layer_menu_service___NqMyX > div.MyView-module__service_sub___wix9p > div.MyView-module__sub_left___AIWHR > a').click() #현재 열려있는 창 driver.window_handles #새창으로 전환 driver.switch_to.window(driver.window_handles[1]) #메일쓰기버튼 클릭 driver.find_element(By.CSS_SELECTOR,'#root > div > nav > div > div.lnb_header > div.lnb_task > a.item.button_write').click() #받는사람 recieve = driver.find_element(By.CSS_SELECTOR, '#recipient_input_element') recieve.send_keys('kiyoung3159@naver.com') title = driver.find_element(By.CSS_SELECTOR,'#subject_title') title.send_keys('음하하 아주 잘했어') #프레임전환 iframe = driver.find_element(By.CSS_SELECTOR,"#content > div.contents_area > div > div.editor_area > div > div.editor_body > iframe") driver.switch_to.frame(iframe) 에러 코드는 아래와 같이 뜨네요! NoSuchElementException Traceback (most recent call last) Cell In[61], line 2 1 #프레임전환 ----> 2 iframe = driver.find_element(By.CSS_SELECTOR,"#content > div.contents_area > div > div.editor_area > div > div.editor_body > iframe") 3 driver.switch_to.frame(iframe) File ~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\selenium\webdriver\remote\webdriver.py:741, in WebDriver.find_element(self, by, value) 738 by = By.CSS_SELECTOR 739 value = f'[name="{value}"]' --> 741 return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"] File ~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\selenium\webdriver\remote\webdriver.py:347, in WebDriver.execute(self, driver_command, params) 345 response = self.command_executor.execute(driver_command, params) 346 if response: --> 347 self.error_handler.check_response(response) 348 response["value"] = self._unwrap_value(response.get("value", None)) 349 return response File ~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\selenium\webdriver\remote\errorhandler.py:229, in ErrorHandler.check_response(self, response) 227 alert_text = value["alert"].get("text") 228 raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here --> 229 raise exception_class(message, screen, stacktrace) NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"#content > div.contents_area > div > div.editor_area > div > div.editor_body > iframe"} ... (No symbol) [0x00007FF7544255E0] (No symbol) [0x00007FF754414A7F] BaseThreadInitThunk [0x00007FFF14F8257D+29] RtlUserThreadStart [0x00007FFF16E4AF28+40] 무엇이 잘못되었는지 1시간 고민하다가 질문 올려봅니다!!
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
파이썬에서 계행되는 조건이 무엇인가요?
이전 c나 java의 경우엔 \n ln등 표기 되는 문구가 있었습니다. 파이썬의 경우엔 print가 끝나면 자동으로 계행이 되는건지,아니면 다른 조건이 있는건지 알고싶습니다.
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
RISS논문크롤링하고 있는데 서버 거부..
서버 거부가 되어서 헤더추가까지 했는데도... 여전히 서버 거부인 듯하네요.. 강사님 그대로 따라 했는데.. 왜 이렇죠.ㅠㅠ import requests from bs4 import BeautifulSoup import pandas as pd # 파라미터 종류가 많은 경우 꿀팁 param = { 'isDetailSearch': 'N', 'searchGubun': 'true', 'viewYn': 'OP', 'strQuery': '패션 인공지능', 'order': '/DESC', 'onHanja': 'false', 'strSort': 'RANK', 'iStartCount': 0, 'fsearchMethod': 'search', 'sflag': 1, 'isFDetailSearch': 'N', 'pageNumber': 1, 'icate': 're_a_kor', 'colName': 're_a_kor', 'pageScale': 100, 'isTab': 'Y', 'query': '패션 인공지능', } reponse = requests.get('https://www.riss.kr/search/Search.do',params=param) html = reponse.text soup = BeautifulSoup(html, 'html.parser') articles = soup.select('.srchResultListW > ul > li') # 헤더가 필요한 경우(서버가 막힌 경우) header = { 'User-Agent' : 'Mozilla/5.0', 'Referer' : 'https://www.riss.kr/search/Search.do?isDetailSearch=N&searchGubun=true&viewYn=OP&queryText=&strQuery=%ED%8C%A8%EC%85%98+%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5&exQuery=&exQueryText=&order=%2FDESC&onHanja=false&strSort=RANK&p_year1=&p_year2=&iStartCount=0&orderBy=&mat_type=&mat_subtype=&fulltext_kind=&t_gubun=&learning_type=&ccl_code=&inside_outside=&fric_yn=&db_type=&image_yn=&gubun=&kdc=&ttsUseYn=&l_sub_code=&fsearchMethod=search&sflag=1&isFDetailSearch=N&pageNumber=1&resultKeyword=&fsearchSort=&fsearchOrder=&limiterList=&limiterListText=&facetList=&facetListText=&fsearchDB=&icate=re_a_kor&colName=re_a_kor&pageScale=100&isTab=Y®nm=&dorg_storage=&language=&language_code=&clickKeyword=&relationKeyword=&query=%ED%8C%A8%EC%85%98+%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5', } for article in articles[:1]: title = article.select_one('.title > a').text link = 'https://www.riss.kr' + article.select_one('.title > a').attrs['href'] # 상세 페이지로 요청(페이지 안에 들어가야 내용이 있는 경우) response = requests.get(link, headers=header)# 여기서 헤더 추가 html = reponse.text soup = BeautifulSoup(html, 'html.parser') print(soup) press = soup.select_one('.infoDetailL > ul > li:nth-of-type(2) > div').text #print(title,link,press)
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
연습문제 2번 질문 있습니다!
연습문제 2번에서 아래 코드로 했을 때 안되는데 이유가 뭔지 모르겠습니다! 어차피 1개라서 반복문을 쓰지 않아도 될까 했는데 안되네요..import requests from bs4 import BeautifulSoup url = 'https://davelee-fun.github.io/' res = requests.get(url) soup = BeautifulSoup(res.content, 'html.parser') items=soup.select('.sitetitle') print(items.get_text())(+)print(item.get_text()) 했을때는 잘 추출되는데 item은 선언한적이 없는데 왜 되는걸까요~?
-
해결됨코딩테스트 [ ALL IN ONE ]
강의가 계속 검정화면만 나와요
강의가 검정화면으로만 나오고 소리만 나옵니다
-
미해결Airflow 마스터 클래스
dag_seoul_api dag은 실행이 되는데 파일이 저장이 안되네요
json으로 데이터로 잘불러왓고 dag도 성공적으로 마쳤다고 했는데 정작 files 폴더에는 저장이 안되어 있습니다.그래서 docker inspect로 mount 속성을 보니{ "Type": "bind", "Source": "/home/jspark9703/airflow/files", "Destination": "/opt/airflow/files", "Mode": "rw", "RW": true, "Propagation": "rprivate" }propagation이 rprivate으로 되있더군요 아마 이 속성때문에 그런거같은데... volumes 속성을 바꾸는 방법은 없을까요? 아님 다른 문제가 있는 것일까요?
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
특정 범위 서체 변경하기 (글자속성변경하기)
안녕하세요? 조금씩 천천히 강의를 따라가고 있습니다 ^^ 글자속성 변경하기 챕터에서특정 범위의 서체 변경하기를 따라 해 보고 있는데요. 빈문서를 만들고,텍스트를 입력한 다음,블럭을 설정하고,charshape = True를 입력하고,실행시키면 화면에 나오는 것처럼 글자 속성이 변하지 않네요. 참고로 저는 Visual Studio Code로 작업을 하고 있습니다.추측으로는,열어 놓은 한글 파일에 접근할 수 있어야 하고블럭설정한 부분을 읽어야 하는 것 같은데,이 코드는 빠져 있는 건가요?멋진 강의 감사합니다! ^^
-
해결됨[개정판] 파이썬 머신러닝 완벽 가이드
안녕하세요(머린이 질문)
안녕하세요 선생님다름이 아니라, 머신러닝 수강중 궁금한게 있어 질문드립니다X1, X2 ,X3 ,X4 ~... Y가 있을 때 회귀예측을 진행한다고 하면만약 타겟 Y값 목표가 100이라고 가정 했을 때X1,X2,X3,X4들이 어느정도 값에 있는걸 추천한다 ? , 권장한다 ? 라는 분석기법도 있을까요 ? Q1) Y가 목표값이 있을 때, 각 X1~X4 범위 , 그에 따른 Y값의 신뢰구간 ㅠ 그냥 이 질문은 ML이 아니고 회귀분석 일까요 ??
-
해결됨워드프레스 자동 포스팅 프로그램 개발 강의 (ChatGPT API)
클라이언트 에러 관련 질문입니다.
안녕하세요 강사님,저는 Client 부분 부터 에러가 발생합니다패키지들은 잘 설치 했는데, 어떤 문제인지 모르겠습니다.(전 Mac 사용 중이고, 파이썬 버젼은 3.11 씁니다) 파이썬 실행하면, 아래와 같은 에러메시지가 나옵니다. Traceback (most recent call last):File "/Users/mati/coding/wp_auto/3.upload.py", line 14, in <module>client = Client(site_url, username, password)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/Users/mati/coding/wp_auto/coding/wp_auto/lib/python3.11/site-packages/wordpress_xmlrpc/base.py", line 24, in initself.supported_methods = self.server.mt.supportedMethods()^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/xmlrpc/client.py", line 1122, in callreturn self.__send(self.__name, args)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/xmlrpc/client.py", line 1464, in __requestresponse = self.__transport.request(^^^^^^^^^^^^^^^^^^^^^^^^^File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/xmlrpc/client.py", line 1166, in requestreturn self.single_request(host, handler, request_body, verbose)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/xmlrpc/client.py", line 1179, in single_requestresp = http_conn.getresponse()^^^^^^^^^^^^^^^^^^^^^^^File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py", line 1378, in getresponseresponse.begin()File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py", line 318, in beginversion, status, reason = self._read_status()^^^^^^^^^^^^^^^^^^^File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py", line 287, in readstatusraise RemoteDisconnected("Remote end closed connection without"http.client.RemoteDisconnected: Remote end closed connection without response답글 달기수정삭제
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
제 학습방법이 맞는지 궁금합니다..
만약 강의보기전에 알고리즘 문제 풀 때, 아무것도 쓰지 못할 경우에는일단 어떻게 접근할지 생각해본다 (한 자라도 쓸 수 없더라도) 강의를 본다. 모르는 개념이 나왔을때, 따로 공부하고 코드를 계속 외울때까지 써본다.이런 방식으로 해도 괜찮을까요??
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
필드위치로 커서 옮기기
제가 모르는 것일수도 있는데_필드위치로 커서 옮기기 파트에서 수업파일은 어디에 있을까요?
-
미해결파이썬/장고로 결제 시작하기 (Feat. 아임포트) - 기본편
포트원 UI가 바뀌면서 포트원 404에러가 발생합니다.
안녕하세요. 강의 잘 듣고 있습니다.가이드 주신대로 포트원 회원가입을 하고, 테스트 채널을 추가했습니다.PORTONE_SHOP_ID 를 변경하여 결제를 생성해도포트원 404 에러가 발생합니다.포트원에서 UI가 업데이트 되었습니다.그래서 대표설정을 찾지 못하였습니다.이 부분 같이 고민해주실 수 있을까요? https://github.com/pyhub-kr/course-django-payment-basic/tree/10c6d065e401ce6a9daa262d1906d10f2f9e69c3여기 깃허브를 클론한 뒤 제 .env파일을 넣어서 테스트해도 포트원 404 에러가 발생합니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
c언어 기출문제변형
36분45초. 출력값작성하는 문제입니다.X를 먼저 출력하면 기존의 20값이 출력되는게 아닌가요??순서상에서도 그렇구요..반영이 다된후에 X,Y값을 출력하는지 모르겠습니다.
-
해결됨코딩테스트 [ ALL IN ONE ]
노션 링크 신청했습니다!
금일 오전에 노션 링크 신청했습니다!확인 부탁드려요!
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
[진짜 쉬운 책 추천] 크롤링부터 너무 어렵네여
정말 쉽게 볼 책 추천해주실 수 있나요?? 강의 듣고 책으로도 보면 조금 더 이해가 쉬울까 하구요
-
미해결파이썬 무료 강의 (활용편3) - 웹 스크래핑 (5시간)
2024.08.28 수요일 기준 날씨 정보 가져오기 소스코드입니다 (참고하세요 : ) )
개인적으로 만든거다 보니, 부족한 면이 많습니다. 헷갈리시는 분들이나 조금 어렵다고 느껴지는 분들을 위해서 공유해드려요 !import requests from bs4 import BeautifulSoup ''' [오늘의 날씨] 흐림, 어제보다 00도 높아요 현재 00도 (최저 00도 / 최고 00도) 오전 강수확률 00% / 오후 강수확률 00% 미세먼지 좋음 초미세먼지 좋음 ''' def scrape_weather(): print("[오늘의 날씨]") url = "https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=%EB%82%A0%EC%94%A8" res = requests.get(url) res.raise_for_status() soup = BeautifulSoup(res.text, "lxml") cast = soup.find("p", class_="summary").get_text() curr_temp = soup.find("div", class_="temperature_text").get_text().replace("현재 온도", "") # 현재온도 targets = soup.find_all("li", class_="week_item today") min_temp = targets[0].find("span", class_="lowest").get_text() # 최저 온도 max_temp = targets[0].find("span", class_="highest").get_text() # 최고 온도 morning_and_afternoon = targets[0].find_all("span", class_="weather_left") morning_rain_rate = morning_and_afternoon[0].get_text() # 오전 강수확률 afternoon_rain_rate = morning_and_afternoon[1].get_text() # 오후 강수확률 dust_list = soup.find_all("li", class_="item_today") pm10 = dust_list[0].get_text() # 미세먼지 pm25 = dust_list[1].get_text() # 초미세먼지 # 출력 print(cast) print(f"현재 {curr_temp} ({min_temp} / {max_temp})") print(f"강수확률 {morning_rain_rate.strip()} / {afternoon_rain_rate.strip()}") print() print(f"{pm10.strip()}") print(f"{pm25.strip()}") print() if __name__ == "__main__": scrape_weather() # 오늘의 날씨 정보 가져오기
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
재귀와 완전탐색의 차이에 관한 질문이 있습니다!
문제를 풀때, 재귀함수를 사용하여 백트래킹 하는 방법이 있고 완전 탐색 for 문을 돌리는 방법 두가지가 있다고 했을때, 어느것을 사용하든지 관계 없나요? 본질적으로 모든 경우의 수 탐색하는 건 똑같은데 그 방법의 차이일 뿐인가요?? 만약 그렇다면 for 문으로 일일이 코딩하기 어려운 문제들을 재귀로 푼다고 생각하면 될까요?
-
미해결파이썬 무료 강의 (활용편3) - 웹 스크래핑 (5시간)
24년, 부동산 퀴즈 코드입니다. 참고하세요!!
from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from webdriver_manager.chrome import ChromeDriverManager from bs4 import BeautifulSoup # Setup Chrome options options = webdriver.ChromeOptions() options.add_experimental_option("detach", True) options.add_argument("--user-agent=''") # Initialize the browser browser = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options) # 옵션 추가 - 웹페이지 최대화 browser.maximize_window() # 원하는 웹사이트로 이동 url = "https://realty.daum.net/home/apt/danjis/38487" browser.get(url) # 모든 요소가 로드될 때까지 대기 (최대 10초) WebDriverWait(browser, 10).until(EC.presence_of_all_elements_located((By.CLASS_NAME, "css-1dbjc4n"))) # 데이터 뽑기 시작 soup = BeautifulSoup(browser.page_source, "lxml") # 매물 정보 가져오기 targets = soup.find_all("div", class_="css-1dbjc4n r-1awozwy r-s4x47v r-18u37iz r-17s6mgv r-1m04atk") for idx, target in enumerate(targets): # 가격과 거래 방법 추출 price = target.find("div", class_="css-1563yu1 r-aw03qq r-1wbh5a2 r-1w6e6rj r-159m18f r-1b43r93 r-b88u0q r-rjixqe r-13hce6t r-1ff274t r-13wfysu r-q42fyq r-1ad0z5i") if price: plate = price.get_text().split(" ") use = plate[0] final_price = '' for index in range(1, len(plate)): final_price += plate[index] else: continue # 면적과 층수 정보 추출 area_and_floors = target.find_all("div", class_="css-1563yu1 r-1dnsj32 r-1wbh5a2 r-1w6e6rj r-159m18f r-n6v787 r-majxgm r-14yzgew r-fdjqy7 r-13wfysu r-q42fyq r-1ad0z5i") if len(area_and_floors) >= 2: area = area_and_floors[0].get_text() floor = area_and_floors[1].get_text()[-3:] else: area = "N/A" floor = "N/A" print("=" * 10 + " 매물 {0} ".format(idx) + "=" * 10) print(f"거래 : {use}") print(f"가격 : {final_price}".strip()) print(f"면적 : {area}".strip()) print(f"층 : {floor}".strip()) print() browser.quit()
-
미해결파이썬 무료 강의 (활용편3) - 웹 스크래핑 (5시간)
git hub에 push할때 user-agent가 노출되도 상관이 없나요 ?
git hub에 저의 user-agent가 노출되어도 상관이 없을까요 ? git hub에 소스코드를 push하면서 진행을 하고 있는데 괜찮을까요 ?
-
미해결처음하는 파이썬 머신러닝 부트캠프 (쉽게! 실제 캐글 문제 풀며 정리하기) [데이터분석/과학 Part3]
사망 여부 영향 가능성
Survived 에서 뽑아냈을 때 수치가 높게 나오면 영향 가능성이 높다고 판단하면 되는건가요?