[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
바로 실전 크롤링해보기 :네이버 주식 사이트 크롤링하기 강의에서 인기검색종목을 크롤링하는 예제를 실습해보고 적용하기 위해 더보기를 들어가 인기검색어가 30개까지 나와 있는 페이지에서 각 항목들을 크롤링 하려했으나 실행이 되지 않았습니다. 작성한 코드는 이것이었습니다. import requests from bs4 import BeautifulSoup res=requests.get('https://finance.naver.com/sise/lastsearch2.nhn') soup=BeautifulSoup(res.content, 'html.parser') data=soup.select('#contentarea > div.box_type_l > table > tbody > tr:nth-child(3) > td:nth-child(2) > a') data 그러나 data를 출력했을 땐 [ ] 이런 식으로 빈 리스트만 나왔습니다. 구글링해본결과 페이지를 켰을 때 자바스크립트에 의해 동적으로 변동되는 페이지는 값을 불러올 수 없어 그런다는데 이 사례도 동일한 경우인지 궁금해서 문의를 남깁니다.
지금까지 강의 너무 잘듣고 있습니다. 요즘은 선생님을 알고 스프링을 쉽게 배울 수 있게 해주셔서 행복합니다 ㅎㅎ 앞으로 이어질 강의 많은데 이번 강좌는 스프링 맛보기라 생각하고 다음 강의를 계속 진행하면 될까요? 예를들어 이번 강의 JdbcTemplate를 깊이 있게 알려주시는 강의라던가 말입니다. 선생님의 훌륭한 강의를 계속 들으면서 공부하게 되면 현업에서 필요로 하는 개발자가 될 수 있을까요? 저의 바램은 준비해주신 강의를 전부 다 듣고 혼자서 포트폴리오도 만들만한 실력을 원해서 그렀습니다..ㅎㅎ 항상 밝고 친절하게 쉽게 알려주셔서 너무너무 감사합니다
파이썬 초보자로서 with으로 시작되는 구문을 처음 보게 되어서, 구글링을 해보니 파일을 열 때 닫는 것을 잊지 않게 해주는 데 유용한 구문으로 보통 사용되는 것으로 보입니다. 그러나 파일 오픈이 아닌 텐서플로우에서 쓰이는 경우는 짐작할 수가 없습니다. import tensorflow as tf 가 "텐서플로우 라이브러리를 임포트하되 앞으로 tensorflow 대신 간단하게 tf로 줄여서 쓰겠다" 를 의미하는 것처럼, with tf.GradientTape() as tape 는 tf.GradientTape() 대신 tape로 줄여서 쓰겠다 라는 것을 의미하는 것입니까? 그렇다면 왜 tape.gradient(loss,[W,b]) 대신 tf.GradientTape().gradient(loss,[W,b]) 라고 치면 런타임 에러가 뜨는건지요? 그전에, tf.GradientTape()은 인풋이 없는 함수의 일종입니까? 아니면 다른 어떤 것입니까?(tf.square가 제곱해주는 함수인 것처럼 말입니다) 또한 그와 별개로 with 구문이 작동하는 방식 자체도 직관적으로 이해가 되지 않습니다. tf.GradientTape() as tape를 with으로 선언했다면 tape라는 단어는 with 안에서만 쓰여야 하는게 아닌가요? 어떻게 with 과 동일한 들여쓰기 레벨을 가진 gradient=tape.gradient(loss,[W,b]) 과 같은 방식으로 유효하게 사용될 수 있는 것인가요?
강의에서와 같이 -1로 resize를 하면 "string too long" 라고 exception이 출력됩니다. 관련하여 본 강의에 대해 질문 및 답변 내용을 보면 함수의 parameter가 unsigned 라서 그렇다는 등의 내용이 있는데 이 내용을 어떻게 확인할 수가 있나요? 제가 resize 함수의 정의에 가서 본 내용에서는 아래의 내용인데 관련된 힌트를 얻을 수가 없네요, 관련하여 조언주시면 감사하겠습니다! void resize(_CRT_GUARDOVERFLOW const size_type _Newsize, const _Elem _Ch = _Elem()) { // determine new length, padding with _Ch elements as needed const size_type _Old_size = size(); if (_Newsize <= _Old_size) { _Eos(_Newsize); } else { append(_Newsize - _Old_size, _Ch); } }
안녕하세요 강사님, XGBoost관련 질문이 몇가지 생겨 여쭤봅니다! 1. 답변해주신 질문 중, early_stoppings와 early_stopping_rounds의 차이가 없다고 하셨는데, 파이썬 래퍼 xgboost에서 실행을 해보면 early_stopping 파라미터만 설정한 경우 조기중단이 수행이 안되고, early_stopping_rounds를 설정해야만 조기중단이 수행되는데 이 부분이 잘 이해되지 않습니다. 2. xbg.train()에서 evals라는 파라미터에 wlist를 할당하는데 wlist=[(dtrain,'train'),(dtest,'eval')] 입니다. 이 부분에서 evals는 성능평가 데이터셋을 받는 파라미터인데 훈련데이터를 넣어도 되는지 궁금합니다. 3. Tree pruning 기능이 장점으로 적혀있는데 어떤 파라미터에 의한 기능인지, 아니면 xgboost를 실행하기만 하면 자동적으로 실행되는 시스템적인 장점인지 모르겠습니다..! 4. 교차검증과 결손값이 자체처리된다고 하셨는데 교차검증은 cv() API로 처리되는 것이고, 결손값 자체처리는 데이터 전처리가 필요하지 않다는 이야기로 이해했는데 맞을까요..? 5. XGBoost나 LightGBM을 약한 학습기로 다시 배깅이나 보팅을 하는 것이 가능하지만 수행시간이 너무 오래 걸려 잘 사용되지 않는 것인지 궁금합니다! 6. 책에서 p.231에서는 파라미터명이 num_boost_rounds인데 뒤에서 train()의 파라미터는 num_boost_round인데 어떤 것이 맞는건가요? 둘다 맞다면 num_boost_rounds는 어디서 쓰이는 것인지 궁금합니다. 질문이 많은데 미리 죄송합니다..! 구글링해봐도 원하는 답이 잘안나와서 여쭙습니다! 항상 감사합니다
안녕하세요 영한님. 정성껏 준비해주신 강의 잘 듣고 있습니다. 서블릿 요청과 응답에서 hello-form.html 이 정상적으로 동작하지 않아서요. 컴파일 오류는 나지 않지만 막상 창을 띄워보면 빈화면만 나옵니다. 어떤 원인인지, 어떻게 해결할지 알려주세요...ㅠㅠ 항상 좋은 강의 감사합니다.
undertow를 사용해서 ssl 설정을 해보려고 하고있습니다! ssl 설정을 application.properties가 아닌 소스 코드로 구현이 가능할까요? port 까지는 WebServerFactoryCustomizer 를 구현해서 UndertowServletWebServerFactory.setPort를 이용하여 구현했는데 ssl은 찾아봐도 잘 안보여서 여쭤봅니다! 감사합니다.
제가 다른 강의의 보일러플레이트가 켜져있는데요 .. (영화평점사이트) 그걸 끄는 방법을 몰라서 예전에 create react app에서 만든 폴더에서 해보니 터미널에서 cd client 입력해도 안되고 ( no such file or directory: client) npm run backend도 안됩니다 ㅠㅠ .. 첨부터 다시 설치해야할것 같은데 어디서부터 해야하는지 .. 그리고 보일러플레이트 ? 노드 종료 하는 법도 알려주세요 ㅠㅠ..
안녕하세요 선생님 강의 잘 보고 코드 열심히 따라해봤습니다! 그런데 게임에 횟수를 제한하려고 반복문을 설정하고 실행을 해봤는데 끝말잇기가 정답이어도 오답이라고 뜨네요...! 어떤 부분을 고쳐야 할까요? var answer = input.value; 을 반복문 안에 넣는것이 맞는걸까요?? 현재 코드는 이렇습니다 ! game = 0; form.addEventListener('submit' , callBack); function callBack(e){ e.preventDefault(); //기본동장을 막아줌 while (game <5) { var answer = input.value; if(firstWord.textContent[firstWord.textContent.length - 1] === answer[0]){ result.innerText = '딩동댕!'; firstWord.textContent = input.value; input.value = ""; input.focus(); } else{ result.innerText = '틀렸습니다!'; input.value = ""; input.focus(); } game++; } }
리플렉션이 가능한 이유가 클래스를 로딩할때 Class 객체가 힙에 저장되기 때문이라고 알고있습니다. (즉, 한번은 클래스 로딩이 되어야한다(?)) 예를 들어 실행시 입력받은 클래스를 Class.forName(args[0])으로 런타임 동적로딩을 하려고 할 때 입력받은 클래스는 아직 로딩이 안된거 같은데..(한번도 로딩이 안되었다(?)) 어떻게 가능한걸까요?? 제가 잘못 이해하는 부분이 있을까요??
RPN을 이용하면 픽셀단위가 아니라 feature 맵의 한 점(?) 을 중심으로 9개의 앵커박스가 형성되고, 그 앵커박스에 object이 있는지 detection 하는건가요? 만약 그렇다면 이미 9개으 앵커박스는 모양과 크기가 정해져있고, 중심도 정해져있으니 bb box regression 이 필요한가요?
안녕하세요 강사님 혹시 주문과 상품의 many to many 관계에서는 order item의 entity를 생성하였는데 왜 카테고리와 상품의 many to many 관계에서는 entity분석까지는 category item을 생성하지 않고 테이블 관계에서만 category item 를 만들어 주었는지 알 수 있을까요? 또한 item의 속성값으로 앨범, 영화 등이 있는데 category의 역할은 정확히 무엇인지 궁금합니다!!