내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
5.4 영상보면 전일비는 숫자로만되어있네요 영상보면 전일비는 숫자로만되어있네요 제 코드는 아래와 같고 어떻게 상승,하락을 없애는지 모르겠습니다. import requests import bs4 import re import time total_data_list = [] # 추출하고자 하는 데이터 리스트를 모아놓을 곳 page_number = 1 pre_data_time_set = set() # 이전 페이지에서 추출한 데이터를 모아놓는 곳 cuz 중복되면 그만두게 하기 위해 while True: # 특정 조건이 만족하면 break로 루프 끝냄 # 페이지 번호를 포함한 url 생성 - {}.format을 사용해서 동적으로 사용 url2 = "https://finance.naver.com/item/sise_day.naver?code=453450&page={}".format(page_number) # 해당 url로 요청 res2 = requests.get(url=url2, headers=headers2) # 요청한 정보를 .text로 만든 뒤 파싱 soup3 = bs4.BeautifulSoup(res2.text, "lxml") tr_eli = soup3.select("table.type2 > tr[onmouseover='mouseOver(this)']") current_time_set = set() # 현재 페이지의 날짜 데이터를 저장할 set for a in tr_eli: # tr_eli라는 ResultSet에서 하나씩 추출 td_eli = a.select("td") # a.select("td") = 위에서 추출한 것에서 'td' 태그를 포함한 것을 추츨하고 ResultSet으로 반환 # a는 태그지만 td_eli는 ResultSet이다 : data_list = [] # 추출한 데이터를 담을 리스트 for i, td_real2 in enumerate(td_eli): # 추출한 ResultSet(열)들과 인덱스를 같이 순회 clean_data = re.sub(r'\s+', " ", td_real2.text.replace(",","")) # 숫자가 아닌 모든 문자를 제거 if clean_data == " ": break if i == 0: # 첫 번째 인덱스는 무조건 날짜임 current_time_set.add(clean_data) data_list.append(clean_data) if len(data_list) > 0: # data_list가 빈칸이 아닐경우에 total에다가 추가 total_data_list.append(data_list) else: # eliment를 가져오는거 자체를 그만두게 하는 것 break # 이전에 수집한 날짜와 현재 페이지의 날짜가 동일하면 루프 중단 if pre_data_time_set == current_time_set: print("끝났다", page_number) break else: pre_data_time_set = current_time_set # 현재 페이지의 날짜로 업데이트 time.sleep(3) # or random.random() * 2 page_number += 1 # 페이지 번호를 1씩 증가 # 결과 출력 for data in total_data_list: # total_data_list는 리스트 형식이라 리스트안에 리스트를 빼내는 작업하는 것 print(data) # 중복되는 내용 없애는거는 나중에 DataFrame 사용하면 편한데 로직내에서도 가능하긴 하다.
반복문강의 20:40초 for 과 while 반복문 풀이를 할때 for문은 i=5까지 반복한다하셨는데요. 어떻게 출력값이 짝수기준으로 while 출력물이 나오는지 이해가 안갑니다. i=1일때 for문으로 현재숫자:1 출력은 이해가 가구요. 그다음 while로 넘어갔는데 조건식이 false여서 다시 for문으로 돌아오는 것인가요? 왜 돌아가는지 이해가 안가서요. 그다음 2일땐 while 조건식이 True 여서 출력되고break로 빠져나오고 다시 for문으로 돌아가는건가요.
안녕하세요? 어제까지 작동하던 코드가 오늘 위 에러 메시지가 나면서 작동이 되지 않네요. 예외가 발생했습니다. AttributeError module 'win32com.gen_py.7D2B6F3C-1D95-4E0C-BF5A-5EE564186FBCx0x1x0' has no attribute 'CLSIDToClassMap' File " E:\Naver MYBOX\빠른동기화폴더\999_업무용주요매크로\999_한글매크로\01_일상의코딩\002_import win32com.py ", line 3, in <module> hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject") # 한글 실행 AttributeError: module 'win32com.gen_py.7D2B6F3C-1D95-4E0C-BF5A-5EE564186FBCx0x1x0' has no attribute 'CLSIDToClassMap' GPT에게 물어 보니 com 이 손상되었다고 하면서 com 캐시 재생성 하거나 캐시를 재설정 및 재실행을 하라고 하는데, 정말 그런건가요? 위 두 코드를 넣어 보았는데, 계속해서 에러메시지가 나네요 TT
안녕하세요 선생님 구글에 graphviz 다운로드 후 pip install을 해야하나 모르고 pip install 먼저하고 구글 다운로드 후 다시 pip install 하니 중복되서 프롬프트에서 graphviz가 중복됬다고 실행이 안됩니다 ㅠㅠ 혹시 해결방법이 있을까요 ?
선생님 안녕하세요. 강의 잘 듣고 있습니다. 다름 아니라 미니콘다 프롬프트를 통해 가상환경설정 시 기존 yaml 파일을 통해 환경설정을 덮어쓰기 하는 경우 에러가 발생합니다. (myenv-finance-analysis) C:\Users\baesilisk\env_yaml>conda env create --force -f myenv-finance-analysis.yaml usage: conda-script.py [-h] [-v] [--no-plugins] [-V] COMMAND ... conda-script.py : error: unrecognized arguments: --force 해결방법을 알려주시면 감사하겠습니다!
안녕하세요 선생님! 강의 잘 듣고 있습니다. [실전 문제풀이1 : BOJ 3085 사탕 게임] 문제에서 선생님이 제공해주신 "풀이1-O(N^4)" 으로 python3 답을 제출했는데 시간 초과가 되는 걸로 나옵니다. 시간 복잡도가 O(N^4)인데 왜 시간 초과가 나는 것인지 궁금해서 문의드립니다!
답보다 구한 개수가 더 클 때와 같을 때를 구분해서 코드를 작성하면 정답이 아닌 것도 있는데 왜일까요?! 결국 개수가 같은 것을 찾는 것이니까 맞지 않나요...??? import sys #sys.stdin = open("00.txt", "r") k, n = map(int, input().split()) lens = list(int(input()) for _ in range(k)) rt = max(lens) lt = 0 while rt >= lt: temp = (rt+lt)//2 s = 0 for i in range(k): s += lens[i] // temp if s > n: lt = temp + 1 elif s < n: rt = temp - 1 else: re = temp lt = temp + 1 print(re)
우선 강사님 강의 정말 잘 듣고있습니다 ! 테스트에 관심을 갖게되어서 강의를 보게 되었는데 너무 배울게 많은 것 같아서 감사합니다. 저도 Rest Docs를 이용해서 먼저 문서화 해서 작업을 진행해보려고 하는데 제가 아직 학생이라 그런지 잘모르는 부분이 많아서 정확하게 와닿지가 않아서 질문드립니다 ! 기존에 DocsTest처럼 Test를 만들어서 서비스를 mock으로 만들어서 구현한다는 것 까지는 알겠습니다. 이때 BDDMockito의 given을 안에 메서드가 들어가고 Request와 Response가 들어가는데 메서드는 메서드명과 파라미터, 리턴타입 정도까지만 정해두고 Request와 Response를 정의한다는 의미일까요 ? 그리고 당연히 실무니까 Domain Entity는 정의되어있는 상태에서 진행하기 때문에 Entity 정도는 정의되어있는 상태에서 작업을 진행하는걸까요 ? 질문을 정리하자면 실제 프로덕션 코드를 작성하기 전 REST Docs를 먼저 작성할 때 어느정도 코드를 작성해야하는지 궁금합니다 !
초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지
bard api 관련 질문입니다. 1.bard 에서 gemini 로 서비스가 변경이 되었습니다. 변경된 교육이나 자료가 있을까요? 강의 내용 대로 했는 오류가 나오네요 (쿠키 삭제하고 해도) ch06>python 01_bard _exp.p y {'content': 'Response Error: b\')]}\\\'\\n\\n38\\n[[ "wrb.f r",null,null,null,null,[7]]]\\n56\\n[["di",29],["af.httprm",29,"-4302197897822373408",28]]\\n25\\n[["e",4,null,null,131]]\\n\'. \nUnable to get response.\nPlease double-check the cookie values and verify your network environment or google account.'} 알려주세요~~