[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
# 선생님 코드와 'stationname' -> 'cityName', 'pm10grade' -> 'pm10Value' 만 다를 뿐 (인증키 등 기본 정보도 다릅니다만) 유사한 코드를 작성했지만 get_text 에러가 발생했습니다. 처음에 print(res.text)를 해보니 해당 항목의 이름이 바뀌어서 저도 바꿨습니다. 발생한 에러에 대한 구글 검색을 해보니 BeautifulSoup 에러 라는 말들이 보이긴 하는데, 왜 발생했고 어떻게 해결해야 할지 잘 모르겠습니다. 아래는 제가 작성한 코드 입니다. import requests from bs4 import BeautifulSoup service_key = '발행한 인증키 값을 넣었습니다' params = '&numOfRows=10&pageNo=1&sidoName=서울&searchCondition=DAILY' open_api = 'http://openapi.airkorea.or.kr/openapi/services/rest/ArpltnInforInqireSvc/getCtprvnMesureSidoLIst?ServiceKey=' + service_key + params res = requests.get(open_api) soup = BeautifulSoup(res.content, 'html.parser') data = soup.find_all('item') for item in data: cityname = item.find('cityName') pm10grade = item.find('pm10Value') print(cityname.get_text(), pm10grade.get_text())
선생님 안녕하세요? 언제나 좋은 설명의 질좋은 강의 감사드립니다. 대입연산자 오버로딩 강의라서 해당 것에 대한 설명은 크게 없지만 8:26초에서 컴파일시키고 실행하였을때, cout << (int&)hello.m_data << endl; // 출력: 메모리주소 cout << hello.getString() << endl; // 출력: 텍스트 자체 과 같이 위에 라인은 주소, 아래라인은 char가 나옵니다. 궁금한 것은 아래 클래스 정의에서 m_data는 char type을 가리키는 포인터인데, 동적할당되면서 해당 메모리 주소에 source로 부터 복사하였습니다. 그리고 그 멤버 펑션 중에서 getString()함수도 return 하는 것이 m_data이고 함수 선언부에서도 return type이 char*와 같이 포인터(주소) 입니다. 질문 즉, cout << hello.m_data << endl; 하면 주소가 나와야 할 것 같고, cout << hello.getString() << endl; 하면 마찬가지 주소가 나와야하는데(return이 m_data에다가 리턴 타입 char*이므로) 전자의 경우 왜 다시 (int*)을 써서 주소화 시켜 출력하고, 후자의 경우 그냥 텍스트만 나오는 것인가요?? class MyString 정의부분 { public: char *m_data = nullptr; ...생략 char* getString() { return m_data; } }; *** 제가 공부한 바로 array를 가르킬 때 어레이 전체를 나타내는 방법이 첫번째 index 주소로 하고, 그걸로 결국 함수나 다른 파라미터로 사용할 때 넣으면, 그 전체 어레이 받아들이는 것처럼 char*해서 그 주소가 들어가면 그냥 char 입력된 모든 "Hello"가 array처럼 불러와지는 건가요? 좋은 답변 미리 감사드립니다.
안녕하세요, 강사님. 강의를 듣고 따라하고 있는데... 이미지가 auto: true로 해도 옆으로 슬라이드 되지 않습니다. 그래서 개발자화면을 보니 아래와 같이 --- index.html:12 Uncaught TypeError: $(...).bxslider is not a function at HTMLDocument.<anonymous> (index.html:12) at i (jquery.1.12.4.js:2) at Object.fireWith [as resolveWith] (jquery.1.12.4.js:2) at Function.ready (jquery.1.12.4.js:2) at HTMLDocument.K (jquery.1.12.4.js:2) --- 가 발생하고 있습니다. 경로를 재 확인해도 문제가 없는데.. 이유를 알 수 있을까요?ㅠㅠ 입력한 소스는 아래와 같습니다. <!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>Simple Site</title> <link rel="stylesheet" href="css/reset.css" type="text/css"> <link rel="stylesheet" href="css/style.css" type="text/css"> <script src="js/jquery.1.12.4.js" type="text/javascript"></script> <script src="plugins/bxslider/js/jquery.bxslider.js" type="text/javascript"></script> <script> $(document).ready(function(){ $('.slider').bxslider ({ controls: false, pager: false, auto: true }); }); </script> </head> <body> <div class="slider"> <div class="background__01"></div> <div class="background__02"></div> <div class="background__03"></div> </div> </body> </html>
안녕하세요. 이번강좌를 모두 수강하고 취업을 준비하려고 합니다. 사회 초년생이라 궁금한게 많은데, ASP.NET 쪽으로 취업을 하려고 하는데 신입으로 들어가면서 준비하면 좋은 게 있을까요? (JS,C# 등등...) 또, 응용프로그램(C#) 과 ASP.NET 은 완전 별개로 보면 될까요? 저는 ASP.NET 개발을 하고 싶은데, 간혹 C#개발이 껴있는 곳이 있더라구요. C# 은 배웠지만 프로젝트를 수행한적은 없습니다. 이번강좌를 너무 재밌고 느끼는게 많아서 이부분을 살려서 취업하고 싶은데 조언 해주시면 감사하겠습니다! 강좌와 무관한 질문 죄송합니다. ㅠㅠ
제 rstudio버전은 가장 최신입니다. shiny 버전도 최근이고요. shiny app으로 slider, plot 등등 다양한 map을 만드는 코드를 만들고 프로그램을 돌릴 때마다 늘 목적과 다른 app이 나왔습니다. 이번에 ``` runExample('01_hello') ``` 도 똑같습니다. 다음과 같은 모양이 나옵니다. https://i.imgur.com/4csbKCl.png 이런 간단한 코드에서 앱 구동이 이상한 것은 rstudio나 shiny의 문제인 것 같습니다.
const query = req . query . hashtag ; 이 부분이요. 모든 검색 엔진은 express에서 req.query로 들어오나요? main.pug 보면 input ( type = 'text' name = 'hashtag' placeholder = '태그 검색' ) req.query.hashtag 에서 hashtag에 들어온 이유는 name 이 hashtag라 그런거는 알겠는데, ㄱquery로 들어온 이유가 검색엔진이기 때문에 query로 들어온게 맞난요 ?
도대체, await post.addHashtags(result.map(r=>r[0])) 이 어떻게 작동하는지 이해가 안가네요.. 질문1. posts 와 hashtags 는 다대다 관계로 postHashtag 라는 조인 테이블이 생성된 상태입니다. 이 라우터의 post.js 에서는 현재 post는 const post = await Post . create ({ content:req . body . content , img:req . body . url , userId: req . user . id , //작성자 사용자 아이디. }); 이거를 담고 있으니까, post 테이블의 DB를 갖고있다는 뜻이고, A.addB 이 뜻이, A 와 B는 테이블을 말하는거죠? 그러면 post.addHashtags 라는게 post.addhastags가 되야하는거 아닌가요?? 왜 대문자Hashtags가 되야하나요?? 질문2. 그리고, result.map(r=>r[0]) 이 부분 잘이해 안가네요 설명좀 해주세요.. 질문3. 그리고, 저는 애초에 디비 테이블짤때 이름을 hashtag 이런식으로 만들었는데 module . exports =( seqelize , DataTypes ) => ( seqelize . define ( 'hashtag' ,{ title: { type: DataTypes . STRING ( 15 ), allowNull: false , unique: true , } },{ timestamps: true , paranoid: true }) ); 왜 workbench 로 보면, hashtags 로 만들어지는거죠? 지가 알아서 s를 붙이네요...?
npm install시 에러가납니다. node-pre-gyp WARN Tried to download(404): https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.2.4/fse-v1.2.4-node-v72-darwin-x64.tar.gz node-pre-gyp WARN Pre-built binaries not found for fsevents@1.2.4 and node@12.6.0 (node-v72 ABI, unknown) (falling back to source compile with node-gyp) SOLINK_MODULE(target) Release/.node CXX(target) Release/obj.target/fse/fsevents.o In file included from ../fsevents.cc:6: In file included from ../../nan/nan.h:202: In file included from ../../nan/nan_converters.h:67: ../../nan/nan_converters_43_inl.h:22:1: warning: 'ToBoolean' is deprecated: ToBoolean can never throw. Use Local version. [-Wdeprecated-declarations] X(Boolean) ^ ../../nan/nan_converters_43_inl.h:18:12: note: expanded from macro 'X' val->To ## TYPE(isolate->GetCurrentContext()) \ ^ <scratch space>:202:1: note: expanded from here ToBoolean ^ 중략... gyp ERR! stack at ChildProcess.emit (events.js:203:13) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12) gyp ERR! System Darwin 18.6.0 gyp ERR! command "/usr/local/Cellar/node/12.6.0/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/Users/has3ong/Desktop/GitHub/Vuejs-Trello/lecture-vue-trello-server/node_modules/sqlite3/lib/binding/node-v72-darwin-x64/node_sqlite3.node" "--module_name=node_sqlite3" "--module_path=/Users/has3ong/Desktop/GitHub/Vuejs-Trello/lecture-vue-trello-server/node_modules/sqlite3/lib/binding/node-v72-darwin-x64" "--napi_version=4" "--node_abi_napi=napi" gyp ERR! cwd /Users/has3ong/Desktop/GitHub/Vuejs-Trello/lecture-vue-trello-server/node_modules/sqlite3 gyp ERR! node -v v12.6.0 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok npm WARN lecture-vue-trello-server@1.0.0 No description npm WARN lecture-vue-trello-server@1.0.0 No repository field. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/fsevents): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 install: `node install` npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1 npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! sqlite3@4.0.2 install: `node-pre-gyp install --fallback-to-build` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the sqlite3@4.0.2 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /Users/has3ong/.npm/_logs/2019-08-07T15_34_20_764Z-debug.log 어떻게 해결하죠
강의 외적이지만, '인사이드 자바스크립트' 라는 책을 언급해주셨는데, 이 부분 중 클로저 부분이 이해되지 않습니다. 여기서 특히나 func ? func(this.greeting) : this.func(this.greeting); 부분이 더 이해되지 않습니다. 책보다 조금 더 쉽게 풀이해서 설명해주실 수 있을까요?? 그리고 이 부분도 잘 모르겠습니다. 양이 너무 많나요? ㅠㅠ 여기부분 설명이 너무 불친절하다고 느껴집니다 이해할 수 있는 키워드만이라도 적어주실 수 있을까요??