import requests,openpyxl from bs4 import BeautifulSoup from openpyxl.styles import Font wb = openpyxl.Workbook() wb.create_sheet('증권') del wb['Sheet'] ws = wb['증권'] ws.append(['순번','종목','PER','ROE','DATE']) path = 'C:/Users/user/DESKTOP/' count = 10 x =1 requests.get('https://finance.naver.com/sise/field_submit.naver?menu=market_sum&returnUrl=http%3A%2F%2Ffinance.naver.com%2Fsise%2Fsise_market_sum.naver%3F%26page%3D1&fieldIds=per&fieldIds=roe&fieldIds=high_val&fieldIds=low_val&fieldIds=pbr&fieldIds=reserve_ratio') for t in range(1,count + 1,1) : respone = requests.get(f'https://finance.naver.com/sise/sise_market_sum.naver?sosok=0&page={t}') html = respone.text soup = BeautifulSoup(html,'html.parser') for i in range(1,100,1): first_link = f"#contentarea > div.box_type_l > table.type_2 > tbody > tr:nth-child({i+1})" links = soup.select(first_link) for link in links : try: name = link.select_one(f"{first_link} > td:nth-child(2)").text per = link.select_one(f"{first_link} > td:nth-child(9)").text roe = link.select_one(f"{first_link} > td:nth-child(11)").text dae = link.select_one(f"{first_link} > td:nth-child(12)").text ws.append([x,name,per,roe,dae]) x += 1 except: pass wb.save(f'{path}증권.xlsx') 강의 듣기 전 과제 내주셨을때 짠 코드인대용 아직도 살짝 이해가 안되는대 처음 짤 때 reqsuetst.get 부분에 요청 보내고 난 후 url은 변경없이 동일해서 새로운 변수에 기존 url 저장했었거든용 아래처럼 respone = requests.get(f 'https://finance.naver.com/sise/sise_market_sum.naver?sosok=0&page={t }') 기존 url사용했을때 체크박스 저장했던 내용이 계속 보이던대 뭐때문인지 알수있을까용.. 그리구 td부분 저장 도중에 바부분 처리 할줄몰랐어 저런씩으로 try와 except로 처리 했었는대 이코드 뿐만 아니라 추 후에 이런 비슷한거 나왔을떄 저렇게 짜면 문제가 될가능성이 있을까용 ?
안녕하세요! 예전에 동일 문제를 파이썬으로 풀다가, c++로 풀어봤는데, 왜 해당 파이썬코드는 정답 으로 인식되는데, 동일하게 짠 c++코드는 오답으로 인식되는지 궁금합니다. def pow_mod(a, b, c): if b == 1: return a % c n = pow_mod(a, b//2, c) if b % 2: return (n * n * a) % c else: return (n * n) % c A, B, C = map(int, input().split()) result = pow_mod(A, B, C) print(result) #include <bits/stdc++.h> using namespace std; typedef long long ll; ll A, B, C; ll tmp, ret; ll calc(ll a, ll b, ll c){ if (b == 1) return a % c; tmp = calc(a, b/2, c); // if b is odd number => only multiple a once if (b % 2) { return (tmp * tmp * a) % c; } else { return (tmp * tmp) % c; } } int main(){ cin >> A >> B >> C; ret = calc(A, B, C); cout << ret << '\n'; return 0; } 어느 것이 반례인지 감이 안옵니다. 혹시 알 수 있는지, 왜 발생하는지 궁금합니다.
a = a[:int(len(a)*0.5)] cond = a['target'] == 0 print(trunc(a[cond]['proline'].mean())) 이렇게 작성했는데 trunc함수가 정의되지 않았다고 오류가 나네요... name 'trunc' is not defined
@InitBinder 를 사용하면 어떤 매핑이 들어와도 @InitBinder 안의 검증기가 적용된다고 하셨는데 이전에 mvc 설명에서 @modelattribute로 써주면 안의 내용이 모든 곳에서 다 적용되는것과 다른 개념인가요 ? 둘의 차이는 @InitBinder 를 사용하면 @Validated 인자가 들어간 곳에서만 작동하는것 의 차이인가요 ?
watch까지만 들었을 때는 오히려 명확하게 다르다고 생각했었는데, computed와 watch을 비교하는 과정 속에서 살짝 혼동이 와서 질문드립니다. 제가 이해하기로 사용법에 있어서도 그렇고, computed의 경우 특정 element 'a'의 상태 변화에 따라 영향받는 다른 element 'b'의 상태를 미리 계산해서 갖고 있기 위해 수행되는 부분이고 watch의 경우 'a'의 상태 변화시 수행되어야 할 함수들(콜백함수처럼)을 정의하면 된다고 생각을 했었는데, 이렇게 이해하면 될까요??
안녕하세요 강사님 지금 네트워크 영상 기초 강의들을 계속해서 보고있습니다 보던 중에 라우터가 데이터 패킷 전달을 위해 최적의 경로 설정을 해주는 L3 스위치라고 들었습니다 그리고 게이트웨이도 데이터 전달 과정에서 택배기사 같은 역할을 하며 라우팅을 한다고 들었는데요, 이 둘의 정확한 차이점을 혹시 알 수 있을까요?
안녕하세요, 유익하고 좋은 강좌 만들어주셔서 감사드립니다! 덕분에 브라우저 스크롤 애니메이션에 대한 개념이해를 갖게 됐습니다!. 이런 내용을 바탕으로 '미려한' 애니메이션을 만들고 싶은 욕심이 생겼는데요, 해당 강좌를 시청하며 2가지 문의사항이 있습니다. 감사합니다! #질문1. svg의 path의 생성하는 법, 만들어주신 강좌 중 svg 강의를 보면 아이디어를 얻을 수 있을까요? 보너스로 추가해주신 아이패드 강좌 부분을 보면서, svg의 path를 커스텀으로 만들고 싶은 생각이 들었습니다. 아직 svg 로딩 강좌 섹션은 보지 못했는데, 혹시 인터렉티브 로드맵 중 svg강좌를 들으면, path를 만들 수 있는 힌트를 얻을 수 있을까요? 예를 들어 '안녕하세요 반갑습니다' 라는 svg를 브라우저 스크롤 하면서 하나씩 그려내고 싶습니다. #질문2. 3번째 섹션, 이미지프레임과 fixed된 텍스트들을 서로 싱크를 맞추려면, 어떻게 한땀한땀 해야할까요? 강좌에서 공부한 스크립트와 마크업/스타일을 바탕으로, 새로운 애니메이션을 만들때, 이미지/비디오 프레임과 fixed된 텍스트를 서로 싱크 맞추는 요령? 방법?이 무엇이 있을까요? 혹시 이미지 애니메이션을 완성하고, 수작업으로 텍스트의 fixed위치를 변경하면서, 수치를 정하는건가요?
while(lo <= hi){ int mid = (lo + hi) / 2; if(check(mid)){ hi = mid - 1; ret = mid; }else lo = mid + 1; } 여기서 ret을 찾는 과정(ret=mid)이 조건을 만족하는 최소의 ret을 찾는 과정인가요? ret=min(ret,mid) 필요 없나요? 사실 잘 이해가 안되네요ㅠㅠ 6-A 는 ret=min(ret,mid)이런 걸 했는데 여기는 없어서요
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 혹시 강의에서 설치한 플러그인 이 뭔지 알수 있을까요? 제화면하고 다른듯하네요
일코님 안녕하세요~ 일코님 덕분에 아래아한글 자동화에 대해 열심히 배우고있습니다. 인프런에서 강의까지 수강중인데 누름틀과 필드 사용관련해서 문의드릴게 있어서 글남겨드립니다. 다름이 아니라, 올려주신 강의는 첫페이지만 복사 붙여넣기 하는 방식인데 제가 구현하고자 하는 것은 3페이지 되는 것을 여러개로 만들고 싶은데 가능한 방법이 있을지요.~~ 예를 들면, 청구서 1개 페이지만 복사 붙여넣어서 새로운 청구서를 만드는 것이 아니라 청구서 3개 페이지를 모두 복사 붙여넣기해서 3개 페이지에 해당하는 새로운 청구서를 만드는 것을 구현하고자 합니다 많이 바쁘시겠지만 혹시 가능한 방법이 있다면 조언주시면 감사드리겠습니다~^^