묻고 답해요
144만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
API 버그를 이용한 글자색 일괄변경하기 수업자료
수업자료가 잘못되었나 파일을 다운받았는데, 한글파일은 없고 이상한 파일만 있네용
-
해결됨[2024 개정판] 이것이 진짜 엑셀자동화다 - 기본편
네이버 메일 자동화 실습 문의
안녕하세요 네이버 메일 자동화 코드를 실행하면 메일 쓰기 버튼을 계속 찾지 못하고 있어 어떻게 수정하면 될지 문의드립니다.메일함 이동까지는 정상적으로 되고 있으나 메일 쓰기 버튼만 찾지 못하고 있습니다. 코드는 다음과 같습니다.from selenium.webdriver import ChromeOptions from selenium import webdriver from selenium.webdriver.chrome.service import Service as ChromeService from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.common.by import By import time import pyperclip import pyautogui from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC options = ChromeOptions() options.add_experimental_option("detach", True) driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()), options=options) driver.get('https://nid.naver.com/nidlogin.login?mode=form&url=https://www.naver.com/') driver.maximize_window() # 화면 최대화 # 아이디 입력창 id = driver.find_element(By.CSS_SELECTOR, '#id') id.click() pyperclip.copy('eooe5173') pyautogui.hotkey('ctrl', 'v') time.sleep(2) # 비밀번호 입력창 passward = driver.find_element(By.CSS_SELECTOR, '#pw') passward.click() pyperclip.copy('ssw471395~') pyautogui.hotkey('ctrl', 'v') time.sleep(2) # 로그인 버튼 driver.find_element(By.CSS_SELECTOR, '#log\.login').click() time.sleep(5) # 메일함으로 이동 mailbox = driver.find_element(By.CSS_SELECTOR,'#shortcutArea > ul > li:nth-child(1) > a').click() time.sleep(5) # 내게 쓰기 버튼 writeme_button =driver.find_element(By.CSS_SELECTOR, '#root > div > nav > div > div.lnb_header > div.lnb_task > a.item.button_write').click() # 메일 제목 입력창 및 입력 mailname = driver.find_element(By.CSS_SELECTOR, '#subject_title').click() pyperclip.copy('안녕하세요') pyautogui.hotkey('ctrl', 'v') time.sleep(5) # 메일 내용 입력창 및 입력 mailinfo = driver.find_element(By.CSS_SELECTOR, '#body > div > div.workseditor-content').click() pyperclip.copy('네이버 메일 자동화입니다.') pyautogui.hotkey('ctrl', 'v') time.sleep(5) # 메일 저장 mailsave = driver.find_element(By.CSS_SELECTOR, '#content > div.mail_toolbar.type_write > div:nth-child(1) > div > button.button_write_task').click() time.sleep(5)에러는 동일하게 다음과 같이 노출되고 있습니다.selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"#root > div > nav > div > div.lnb_header > div.lnb_task > a.item.button_write"} (Session info: chrome=123.0.6312.123)Stacktrace: GetHandleVerifier [0x00D14CA3+225091] (No symbol) [0x00C44DF1] (No symbol) [0x00AE9A7A] (No symbol) [0x00B2175B] (No symbol) [0x00B2188B] (No symbol) [0x00B57882] (No symbol) [0x00B3F5A4] (No symbol) [0x00B55CB0] (No symbol) [0x00B3F2F6] (No symbol) [0x00B179B9] (No symbol) [0x00B1879D] sqlite3_dbdata_init [0x01189A43+4064547] sqlite3_dbdata_init [0x0119104A+4094762] sqlite3_dbdata_init [0x0118B948+4072488] sqlite3_dbdata_init [0x00E8C9A9+930953] (No symbol) [0x00C507C4] (No symbol) [0x00C4ACE8] (No symbol) [0x00C4AE11] (No symbol) [0x00C3CA80] BaseThreadInitThunk [0x764EFCC9+25] RtlGetAppContainerNamedObjectPath [0x77DE7C5E+286] RtlGetAppContainerNamedObjectPath [0x77DE7C2E+238]
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
hwp.InitScan(Range=0x00ff).. pywintypes.com_error: (-2147352562, '매개 변수의 개수가 잘못되었습니다.', None, None)
모듈화를 위해 다음과 같이 코드를 정리했습니다. import win32com.client as win32 import os from tkinter.filedialog import askopenfilenames, askopenfilename from tkinter import Tk def select_excel(): win = Tk() win.withdraw() xlsx = askopenfilename( title = "엑셀파일을 고르세요", initialdir = os.getcwd(), filetypes = [("엑셀파일", "*.xlsx *xls")] ) win.quit() return xlsx def select_hwp(): win = Tk() win.withdraw() hwp_file_list = askopenfilenames( title ="취합할 아래아 파일을 고르시오", initialdir=os.getcwd(), filetypes=[("아래아한글파일", "*.hwp *.hwpx")]) win.quit() return hwp_file_list def open_hwp(file): hwp = win32.dynamic.Dispatch("HWPFrame.HwpObject") hwp.XHwpWindows.Item(0).Visible = True hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule") hwp.Open(filename=file, Format="", arg="") # 한/글 파일 열기 return hwp def open_excel(xlsx): excel = win32.dynamic.Dispatch("Excel.Application") excel.DisplayAlerts = False wb = excel.Workbooks.Open(xlsx) ws = wb.Worksheets(1) excel.Visible = True return excel, ws, wb def get_text(): hwp.InitScan(Range=0xff) # 선택한 셀의 문자를 추출하는 방법.. 꼭!! Range=0xff를 빼먹지마라! total_text ="" state = 2 while state not in [0,1]: state, text =hwp.GetText() total_text += text hwp.ReleaseScan() return total_text def change_dir(path): os.chdir(path.rsplit("/", maxsplit=1)[0]) # 파일경로로 콘솔 이동 if __name__ == "__main__": excel_file = select_excel() change_dir(excel_file) excel, wb, ws = open_excel(excel_file) hwp_file_list = select_hwp() for file in hwp_file_list: hwp = open_hwp(file) ctrl = hwp.HeadCtrl while ctrl: if ctrl.CtrlID == 'tbl': hwp.SetPosBySet(ctrl.GetAnchorPos(0)) break else: ctrl = ctrl.Next hwp.FindCtrl() hwp.Run("ShapeObjTableSelCell") contents = [] contents.append(get_text()) while hwp.HAction.Run("TableRightCell"): contents.append(get_text()) 과제명 = contents[1] 신청부서 = contents[3].split("\r\n")[0].replace("/", "") 과제담당관 = contents[3].split("\r\n")[1] 담당공무원 = contents[5] 연구방식_ =["위탁형", "공동연구형", "자문형"] 연구방식 = [ i.strip() for i in contents[7].split("(")[1:]] for idx, text in enumerate(연구방식): if not text.startswith(")"): 연구방식 = 연구방식_[idx] 연구시작 = contents[9].split("~")[0].strip() 연구종료 = contents[9].split("~")[1].split('(')[0].strip() 연구기간 = contents[9].split("~")[1].split('(')[1].replace(")", "") 예산항목_ = ["포괄", "사업별"] 예산항목 = [i.strip() for i in contents[12].split("(")[1:]] for idx, text in enumerate(예산항목): if text.startswith(")"): pass else: 예산항목 = 예산항목_[idx] 예상금액 = contents[15] 연구필요성 = contents[17] 중복검토방법 = contents[21].split("\r\n")[1].replace("-", "").strip() 중복성여부_ = ["있다", "없다"] 중복성여부 = [ i.strip() for i in contents[21].split("\r\n")[2].split("(")[1:]] for idx, text in enumerate(중복성여부): if not text.startswith(")"): 중복성여부 = 중복성여부_[idx] 연구내용 = contents[23] 연구결과활용방안 = contents[25] 입력행 = len(ws.UsedRange()) + 1 ws.Range(ws.Cells(입력행, 1), ws.Cells(입력행, 15)).Value = (과제명, 신청부서, 과제담당관, 담당공무원, 연구방식, 연구시작, 연구종료, 연구기간, 예산항목, 예상금액, 연구필요성, 중복검토방법, 중복성여부, 연구내용, 연구결과활용방안) wb.Save() hwp.Quit() 하지만 코드를 실행하니 다음과 같은 에러가 발생했습니다.------------------------------------------------------ Traceback (most recent call last): File "C:\Users\user\Desktop\Pyton_hwp_auto\pyinstallertest.py", line 74, in <module> contents.append(get_text()) ^^^^^^^^^^ File "C:\Users\user\Desktop\Pyton_hwp_auto\pyinstallertest.py", line 43, in get_text hwp.InitScan(Range=0x00ff) # 선택한 셀의 문자를 추출하는 방법.. 꼭!! Range=0xff를 빼먹지마라! ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<COMObject HWPFrame.HwpObject>", line 3, in InitScanpywintypes.com_error: (-2147352562, '매개 변수의 개수가 잘못되었습니다.', None, None)------------------------------------------------------ 무엇이 잘못된걸까요?
-
해결됨[파이썬/Python] 문과생도 이해하는 DFS 알고리즘! - 입문편
[바닥장식][런타임에러] 질문 있습니다.
강사님이 작성해주신 코드로 실행을 해봤을때 런타임 에러가 발생합니다. 제가 코드를 잘못 작성한 걸까요?import sys sys.setrecursionlimit(10**6) inpurt = sys.stdin.readline def dfs(y, x): global map_ cur = map_[y][x] map_[y][x] = "" if cur == "-" and map_[y][x + 1] == "-": dfs(y, x + 1) elif cur == "|" and map_[y + 1][x] == "|": dfs(y + 1, x) # 1. initialize N, M = map(int, input().split()) MAX = 50 + 10 # N * M map_ = [["" * MAX] for _ in range(MAX)] # 2. connection info for i in range(1, N + 1): row = input() for j in range(1, M + 1): map_[i][j] = row[j - 1] # 3. dfs answer = 0 for i in range(1, N + 1): for j in range(1, M + 1): if map_[i][j] != "": dfs(i, j) answer += 1 # 4. print print(answer)코드에 오타가 있는 것 같습니다 map -> map_
-
해결됨
갑자기 Sqlite3가 작동하지 않아요
잘 작동하다가 갑자기 대부분의 commit에서 database is lock 문구가 뜨면서 작동하지 않습니다..db 파일은 총 4개이며, 이 중 3개의 db가 UPDATE 구문 실행 후 commit 하는 과정에서 database is lock 문구가 출력 됩니다 수정하지도 않았는데 잘 작동하다가 갑자기 이러네요 왜 이러는지 아시는분?
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 기본편
셀레니움 실습 시 창이 자동 차단되면서 꺼집니다.
안녕하세요~ 셀레니움 강의를 따라가던 중,네이버 창을 열고 브라우저 꺼짐 방지시켜주는 코드까지 입력을 하고 실행했는데네이버 창이 떴다가 곧 '주의 요함' 이라고 뜨는 Chrome 창으로 전환이 되어 버립니다.위에 팝업으로 'Chrome이 자동화된 테스트 소프트웨어에 의해 제어되고 있습니다' 라고도 떠 있습니다.해결 방안이 있을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
질문있습니다.
안녕하세요? 간단한 질문인데요.. df. 컬럼명 과 df["컬럼명"] 과는 무슨차이가 있나요?출력해보면 똑같은 같이 나오는데요..
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
강의자료 부탁드립니다.
강의자료 부탁드립니다. someday3502@naver.com
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
빅데이터분석기사 기출 3회 작업형1
다른 문제집 질문도 가능 할까요? 문제 풀이 하던 중 답이 다르게 나와 질문드리고 싶어 일단 이렇게 글 올립니🥲강의 다 듣고 빅분기 문제집에 있는 기출 문제를 풀이 하던 중에 기출 3회 작업형1 2번 문제에서 강의에서 해주신 풀이 대로 풀어 보았는데 책에 있는 답이랑 달라서 질문드려요😢 해설에는 76이 나오는데 방법2 처럼 풀이하면 71이 나오네요😭 두개 다른 점이 있나요?? 봤을때 같은 답 구하는게 맞는거 같은데 왜 다른 값이 나오는지 이상해서요다음은 국가별 연도별 인구 10만명당 결핵 유병률 데이터 세트이다. 2000년도의 국가별 결핵 유병률 데이터세트에서 2000년도의 평균값보다 더 큰 유병률값을 가진 국가의 수를 계산하시오.!git clone https://github.com/AnalyticsKnight/yemoonsaBigdata/ # 데이터 불러오기 import pandas as pd df = pd.read_csv("/content/yemoonsaBigdata/datasets/Part3/302_worlddata.csv") df.head() # 방법1(해설) df_2000 = df[df['year']== 2000].drop('year', axis =1) df_2000.index = ['value'] df_2000_T = df_2000.T # print(df_2000_T['value'].mean()) rst_df = df_2000_T[df_2000_T['value'] > df_2000_T['value'].mean()] print(len(rst_df)) # 방법2 df = df.T df.head() m = df[1].mean() print(sum(df[1] > m))
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
파이썬에서 UPDATE 구문사용 시
OperationalError: (1205, 'Lock wait timeout exceeded; try restarting transaction')해당 오류가 발생합니다. 아래는 제 소스코드입니다사실 수업과 다를 바는 없다고 생각은 드는데..다른 구문은 다 정상작동하는데 UPDATE 구문만 작동을 안하는데 이유가 있을까요? 전체 오류 메시지도 사진으로 첨부합니다 Workbench에서도 동일한 오류가 발생합니다 ㅠㅠㅠㅠ #1. 라이브러리 importimport pymysql#2. 데이터베이스에 접속하기## host, port 등등은 mysql에서 확이db = pymysql.connect(host='localhost',port=3306,user='root',passwd='비밀번호입력',db='ecommerce',charset='utf8')#3. 커서 가져오기cursor = db.cursor()#4.sql 구문 만들기(INSERT, CREATE, DELETE 등등)SQL = """UPDATE product SETTITLE ='달리샵린넨원피스 뷔스티에 썸머 가디건 코디전',ORI_PRICE=33000,DISCOUNT_PRICE=9900,DISCOUNT_PERCENT=70WHERE PRODUCT_CODE = '215673141'""" #5 SQL 구문 실행하기cursor.execute(SQL) #6 DB에 Complete 하기db.commit()#7 DB 종료하기db.close()
-
해결됨[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
연예뉴스크롤링의 CSS연산자 적용 및 no attribute 'text' 해결 방법
안녕하십니까, 강사님. 강의 잘 듣고 있습니다.<연예뉴스크롤링>에서 뉴스 불러오기가 안돼 질문드립니다. 이렇게 코드를 작성했습니다. import requestsfrom bs4 import BeautifulSoupimport timeresponse = requests.get("https://entertain.naver.com/ranking/read?oid=076&aid=0004129264")html = response.textsoup = BeautifulSoup(html, 'html.parser')articles = soup.select("div.info_group")for article in articles: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.textsoup = BeautifulSoup(html, 'html.parser') if "entertain" in response.url:title = soup.select_one(".end_tit")content = soup.select_one("#articeBody")else:title = soup.select_one("#articleTitle")content = soup.select_one("#newsct_article") print(content.text) 이렇게 하면 이런 표시만 나옵니다.C:\스타트코딩_크롤링>C:/Users/Sedaily/AppData/Local/Microsoft/WindowsApps/python3.11.exe c:/스타트코딩_크롤링/03_연예뉴스크롤링하기.py 그래서 else:title = soup.select_one("#articleTitle") 의 CSS 연산자를 #news_tit로 바꿔서 else:title = soup.select_one("#news_tit")이렇게 하니 불러오기는 됩니다.[1번 질문] 강의 마지막 부분에 ID 값이기 때문에 앞의 # 을 . 으로 변경하라고 알려주셨는데 그렇게 하면 안됩니다. html이 강의 당시와 변경돼 그런 건지, 이유가 궁금합니다. [2번 질문] 마지막 부분의 print(content.text) 대신링크, 제목, 본문 정리해서 가져오는 코드로 알려주신 이 코드를 밑에 붙이면print("=======링크=======\n", url)print("=======제목=======\n", title.text)print("=======본문=======\n", content.text) 이렇게 표시가 됩니다. 해결 방법 알려주시면 감사하겠습니다. =======링크=======https://n.news.naver.com/mnews/article/003/0012480442?sid=101Traceback (most recent call last):File "c:\스타트코딩_크롤링\03_연예뉴스크롤링하기.py", line 26, in <module>print("=======제목=======\n", title.text)^^^^^^^^^^AttributeError: 'NoneType' object has no attribute 'text'
-
해결됨[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
YOLOv3 loss 계산 질문
안녕하세요. YOLOv3 논문을 읽고 정리하다가 궁금한 점이 생겨서 질문 드립니다. 해당 논문에 다음과 같은 문단이 나오는데요."YOLOv3 predicts an objectness score for each bounding box using logistic regression. This should be 1 if the bounding box prior overlaps a ground truth object by more than any other bounding box prior. If the bounding box prior is not the best but does overlap a ground truth object by more than some threshold we ignore the prediction, following [17]. We use the threshold of .5. Unlike [17] our system only assigns one bounding box prior for each ground truth object. If a bounding box prior is not assigned to a ground truth object it incurs no loss for coordinate or class predictions, only objectness." [17]은 Faster R-CNN에 해당합니다. YOLOv3의 경우 logistic regression을 이용하여 anchor box의 objectness를 예측하는데 ground truth와의 IoU가 최고인 anchor box의 경우에만 1을 할당하고 나머지 anchor box의 objectness score는 무시한다고 이해했습니다. 그러면 이미지에 객체가 하나가 있을 경우, 생성된 전체 anchor box 중에 객체의 ground truth와 IoU가 가장 높은 하나의 objectness score만 1이고 나머지 anchor box의 objectness score는 모두 0이 되는 건가요? 그리고 이 값을 이용해서 Object Confidence Loss가 계산되는건가요? YOLOv1의 경우 나눠진 각 grid cell의 책임 BBox의 (Object일 확률 x ground truth와의 IoU값)으로 Object Confidence Loss가 계산된 걸로 아는데 너무 헷갈리네요 ㅜㅜ
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
강의자료
안녕하세요. 강의 자료 부탁드립니다(dbsdk5395@naver.com)
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
<4장 랜덤 포레스트 실습> 강의에서
안녕하세요. 강의에서GridSearchCV의 best_score가 0.9165인데,최적의 파라미터를 적용한 모델의 accuracy가 0.9260입니다. 둘다 최적의 파라미터를 적용한 수치이고,train, test 데이터는 이미 txt파일 단계에 나눠져 있고,모델의 random_state=0 으로 같은데 어떻게 accuracy가 달라질 수 있는건인지 궁금합니다. 좋은 강의 덕분에 많이 성장하고 있는 느낌이 듭니다.^^감사합니다.
-
미해결처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part2]
doc.groupby("컬럼명").sum() 에러
영상처럼 데이터프레임은 안나오고 에러가 나옵니다ㅠ path ="00_Material(Uploaded)/COVID-19-master/csse_covid_19_data/csse_covid_19_daily_reports/" doc = pd.read_csv(path + '04-01-2020.csv',encoding='utf-8-sig') doc = doc.groupby("Country_Region").sum() doc.head() AttributeError: 'DataFrameGroupBy' object has no attribute 'groupby'
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
이 다음 강의도 준비가 되어 있을까요??
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 크롤링 관련해서 이 다음 클래스도 준비되어 있을까요??도움많이 받고 있어 조금 더 고급 스킬 배우고 싶습니다.
-
해결됨윤파고의 정보처리기사 DB/프로그래밍 All-In-One
강의 3분 50초 두번째 예제코드 질문드립니다.
int a, hap = 0; for(a=0; a<5; a++, hap += a) ;초기 hap = 0a = 0일 때, hap = 0+0 => hap = 0a = 1일 때, hap = 0 + 1 => hap = 1a = 2일 때, hap = 1 + 2 => hap = 3a = 3일 때, hap = 3 + 3 => hap = 6a = 4일 때, hap = 6 + 4 => hap = 1010 아닌가요? 결과가 동일하게 15라고 되어있는데 어떻게 15가 되는 것인지 이해가 안됩니다...ㅜㅜ혹시 a<=5의 오타일까요..?
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
주피터 노트북 실행 했는데 앞에 *가 생기고 결과가 나오지 않아요
그림처럼 * 가생기고 밑에 결과가 나와야 하는데 나오지 않는 이유가 어떻게 될까요??
-
미해결Airflow 마스터 클래스
docker daemon 실행 문제
섹션 1 docker 설치 단계에서sudo service docker start 입력하면 Starting Docker: docker [OK] 라고 나옵니다.하지만 sudo docker run hello-world 입력 하면 docker daemon이 연결되지 않는다고 나옵니다.sudo service docker status 입력해서 확인해 보니 Docker is not running 상태로 지속되고 있습니다.sudo service docker restart 입력하고 해도 동일한 현상이 나옵니다./var/log/docker.log를 열어 확인해보니 아래에 나와있듯이 plugin 로딩 시 에러가 나오는 것 같습니다. 애초에 알려주신 https://docs.docker.com/engine/install/ubuntu 링크의 docker 설치 명령어가 지난 몇달 사이에 바뀌었는지, 강의영상에서의 설치 명령어와 약간 달랐습니다.이 링크에서의 명령어를 사용하지 않고 강의영상에서의 명령어로 입력하면 문제가 해결될까요?아니면 다른 방법이 있는지 문의드립니다.
-
미해결프로그래밍 시작하기 : 도전! 45가지 파이썬 기초 문법 실습 (Inflearn Original)
폰북 프로젝트 배포 관련하여 문의 드립니다.
폰북 프로젝트 강의 수강 후, 해당 프로젝트 수행한 파일을 Github 혹은 대학원 인턴 면접 시 활용 해도 괜찮을까요?