묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Node.js로 웹 크롤링하기
[에러발생]Cannot read property 'findOne' of undefined
안녕하세요! let result=[]; 밑으로 코드는 전부 붙여넣었는데, TypeError: Cannot read property 'findOne' of undefined at crawler (/Users/fullyalive/Project/project_nodeJsCrawler/lecture/index.js:68:44) at process._tickCallback (internal/process/next_tick.js:68:7)가 뜨는데 해결방법을 모르겠습니다 ㅠㅠ 코드는 다음 코드입니다. const puppeteer = require("puppeteer"); const dotenv = require("dotenv"); const db = require("./models"); dotenv.config(); const crawler = async () => { try { await db.sequelize.sync(); const browser = await puppeteer.launch({ headless: false, args: ["--window-size=1920,1080", "--disable-notifications"], userDataDir: "/Users/fullyalive/Project/userData" }); const page = await browser.newPage(); await page.setViewport({ width: 1920, height: 1080 }); await page.goto("https://instagram.com"); if (await page.$(`a[href="/${process.env.IN_ID}/"]`)) { console.log("✅ 이미 로그인 되어 있습니다."); } else { await page.waitForSelector("button.L3NKy"); // instagram 내 페이스북 로그인버튼 await page.click("button.L3NKy"); await page.waitForNavigation(); // facebook 로그인 창 리다이렉트를 기다린다. await page.waitForSelector("#email"); // 해당 태그의 존재 여부를 확인 await page.type("#email", process.env.FB_ID); await page.type("#pass", process.env.FB_PW); await page.waitForSelector("#loginbutton"); await page.click("#loginbutton"); console.log("🙆🏻 로그인 완료"); } let result = []; let prevPostId = ""; while (result.length < 10) { const moreButton = await page.$("button.sXUSN"); // 더보기 버튼 클릭 if (moreButton) { await page.evaluate(btn => btn.click(), moreButton); } const newPost = await page.evaluate(() => { const article = document.querySelector("article:first-child"); const postId = article.querySelector(".c-Yi7") && article .querySelector(".c-Yi7") .href.split("/") .slice(-2, -1)[0]; const name = article.querySelector("h2") && article.querySelector("h2").textContent; const img = article.querySelector(".KL4Bh img") && article.querySelector(".KL4Bh img").src; const content = article.querySelector(".C4VMK > span") && article.querySelector(".C4VMK > span").textContent; return { postId, name, img, content }; }); if (newPost.postId !== prevPostId) { console.log(newPost); if (!result.find(v => v.postId === newPost.postId)) { const exist = await db.Instagram.findOne({ where: { postId: newPost.postId } }); if (!exist) { result.push(newPost); } } } await page.waitFor(1000); await page.evaluate(() => { const article = document.querySelector("article:first-child"); const heartBtn = article.querySelector(".coreSpriteHeartOpen span"); if (heartBtn.className.includes("outline")) { heartBtn.click(); } }); prevPostId = newPost.postId; await page.waitFor(1000); await page.evaluate(() => { window.scrollBy(0, 800); }); } await Promise.all( result.map(r => { return db.Instagram.create({ postId: r.postId, media: r.img, writer: r.name, content: r.content }); }) ); console.log(result.length); await page.close(); await browser.close(); } catch (e) { console.error(e); } }; crawler();
-
미해결PWA 시작하기 - 웹 기술로 앱을 만들자
git 저장소 권한 부탁드립니다.
안녕하세요! 선생님! git 저장소 권한 부탁드립니다. gitst 에 몇일전에 요청했는데 아직 답변이 없어서메일 allysung1@gmail.com 입니다.
-
미해결앱 12개를 만들며 배우는 Swift4 & iOS11 아이폰 iOS 개발 강좌
이미지 파일 어디서 다운받을 수 있을까요?
각 챕터 1번에 있다고 했는데, 아무리 찾아도 못찾겠습니다.;;
-
미해결HAL, CubeMX, TrueSTUDIO를 이용한 STM32F4 무료 강좌
"stm32f4xx_hal_exti.h" No such file or directory 오류
STM32F429 사용하고 있습니다. CubeMX로 코드를 받아 빌드 중, "stm32f4xx_hal_exti.h" No such file or directory라는 오류가 계속해서 발생하는데 어떻게 해결해야 할까요?
-
미해결스프링 부트 개념과 활용
질문드립니다.
강좌보고 공부하면서 혼자 코딩을 하던중에 ajax를 이용해서 게시판 등록을 해봤는데요 var formData = $("#replyForm").serializeObject(); console.log(formData); $.ajax({ type: "POST", contentType : "application/json; charset=utf-8", url: "/replyWriteAction", data: formData, dataType: 'json', cache: false, timeout: 600000, success: function (data) { }, error: function (e) { } 컨트롤러 파일입니다 . @RequestMapping(value = "/replyWriteAction", method = RequestMethod.GET, produces = { MediaType.APPLICATION_JSON_VALUE }) public void replyWriteAction(@ModelAttribute Comment comment) { logger.debug("!>>55555555555555555>>>>>>"+comment.toString()); } ajax 통신을 했는데 There was an unexpected error (type=Bad Request, status=400). Required request body is missing: public void com.sakumall.com.controller.BoardController.replyWriteAction(com.sakumall.com.entities.Comment) org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public void com.sakumall.com.controller.BoardController.replyWriteAction(com.sakumall.com.entities.Comment) 이렇게 에러가 발생하네요 ..해결책을 좀 알수있을까요 ? github 주소입니다 . https://github.com/ShitaoMiu/saku ajax통신 부분 파일 html => board.html server => BoardController.java 입니다 ..
-
미해결홍정모의 따라하며 배우는 C++
비교 연산자 오버로딩
비교 연산자 오버로딩을 아래와 같이 하면 안될까요? friend를 쓰고 두 개의 parameter를 사용하신 의도를 알고 싶습니다. bool operator== (const Cents &c2) { return this->m_cents == c2.m_cents; }
-
미해결야곰의 iOS 프로그래밍
질문 드립니다( keychain)관련
안녕하세요 강사님. 좋은 강좌 감사합니다. 강좌와는 별개로 첫 개인 프로젝트 진행 중인데, 사용자의 각종 개인 정보를 보관하기 위해서는 어떤 api나 framework가 적절할 지 조언해 주시면 감사 드리겠습니다. 찾아보기로는 user default와 keychain을 보통 사용하더라고요. 감사합니다!
-
미해결홍정모의 따라하며 배우는 C++_스트리밍 전용
static_cast가 안써집니다;
Severity Code Description Project File Line Suppression StateError C2143 syntax error: missing '(' before '<' Project5 c:\users\seonju\source\repos\project5\project5\asd.cpp 10 Severity Code Description Project File Line Suppression StateError (active) E0125 expected a '(' Project5 C:\Users\seonju\source\repos\Project5\Project5\asd.cpp 10 Severity Code Description Project File Line Suppression StateError (active) E0029 expected an expression Project5 C:\Users\seonju\source\repos\Project5\Project5\asd.cpp 10 Severity Code Description Project File Line Suppression StateError C2059 syntax error: '<<' Project5 c:\users\seonju\source\repos\project5\project5\asd.cpp 10 Severity Code Description Project File Line Suppression StateError C2143 syntax error: missing '(' before '<' Project5 c:\users\seonju\source\repos\project5\project5\asd.cpp 10 이런 오류들이 뜨면서 static_cast가 안써집니다; 강의에 나온것과 똑같이 했는데 이류를 모르겠습니다;
-
미해결파이썬으로 장고(Django) 공략하기: 입문
ModelForm에서 initial과 instance의 차이?
ModelForm에서 initial과 instance의 차이가 궁금합니다.
-
미해결스프링 기반 REST API 개발
roles 관련 질문 입니다.
이미지 첨부 한곳을 보면 account_roles 라는 테이블에 insert 하는데에서 에러가 나는데 account_roles 는 강좌에서 없는 부분인데 어디서 나온걸까요?
-
미해결[포토샵 혁명 방송] 포토샵 기초 완성
Single Low 설명 중 이해 안가는 부분입니다
강의 감사드립니다 열심히 진도 따라가고 있는 데 Single Low의 CNTR + T 이용하는 부분에서 아무리 시도해봐도 Single Low의 점선이 Fix가 안돼서 자세히 화면을 살펴봤더니 CNTR+T 기능을 설명할 때 우측 Layers의 Background 이미지가 순간적으로 하나 추가된 상태에서 설명을 하던데 추가한 Background 이미지는 잠김이 없는 상태이더군요 1. Layer에 Background 이미지 추가는 어떻게 하는지요? 2. CNTR+T는 Background 사진의 잠김없는 상태에서만 사용하는지요? 감사합니다
-
해결됨파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
3-4-2 인프런 질문
안녕하세요, 3-4-2에서 인프런의 세션 가져오는 부분이 리뉴얼로 인해 변경된 거 같은데, 해당 실습을 할 수 가 없습니다. 업데이트 요청드립니다.
-
미해결밑바닥 부터 시작하는 머신러닝 입문
과제 하는법
수업중에 과제를 해보라고 나오는데 어디 있는지 도저히 못찾겠어요
-
미해결홍정모의 따라하며 배우는 C++
증감연산자에서 COUT 사용시
int x = 5; cout << x << ++x << x << endl; return 0; 의 결과물이 6 6 6 이 나오는데 cout 의 한 라인에서는 증감연사자의 처리 순서가 상관이없이 처리가 되는 것인가요??
-
미해결안드로이드 스튜디오로 안드로이드 앱 만들기
질문잇습니다!
viewPager = (ViewPager) findViewById(R.id.view);view 가계속오류가드ㅃ니다
-
미해결파이썬으로 구현하는 거래 자동화 봇 (챗봇)
inflearn.py 실행 에러
GitHub 에 있는 소스파일을 실행시키면 아래와 같은 에러가 뜹니다. 참고로 저는 파일이름을 auto.py로 변경해서 사용중입니다. (첨부 사진 참조) C:\Anaconda3\python.exe C:/Users/USER/PycharmProjects/untitled/auto.py Traceback (most recent call last): File "C:/Users/USER/PycharmProjects/untitled/auto.py", line 6, in <module> import talib ModuleNotFoundError: No module named 'talib' Process finished with exit code 1
-
미해결자바 프로그래밍 입문 강좌 (renew ver.) - 초보부터 개발자 취업까지!!
수업 코드 문의
수업듣고 있는데 수업 코드를 받고 싶어요 !!
-
미해결모두를 위한 딥러닝 - 기본적인 머신러닝과 딥러닝 강좌
안녕하세요. 수업 너무 재미있게 보고 있던도중 오류가 생겼습니다 ㅠㅠ
마지막 shufflebatch 전에 나오는 코드 실행을 해 봤는데요. 자꾸 오류가 생깁니다. 코드를 몇번이고 다시 확인해보고, 마지막으로는 선생님 깃터브에 들어가서 코드 복사해서 실행 해봤는데도 똑같은 오류가 뜨네요. 깃터브: https://github.com/hunkim/DeepLearningZeroToAll/blob/master/lab-04-4-tf_reader_linear_regression.py 여기 봤구요 오류는 다음과 같이 뜹니다. OutOfRangeError (see above for traceback): FIFOQueue '_42_batch_4/fifo_queue' is closed and has insufficient elements (requested 10, current size 0) [[node batch_4 (defined at <ipython-input-7-a25822b3b767>:17) ]]
-
미해결Node.js로 웹 크롤링하기
sponsered(광고) 게시글 탐색을 위한 문자열 입력
document.querySelector('[id^=hyperfeed_story_id]:nth-child(5)').textContent 를 하면 강의에서 나온 sponsor 구분 코드가 뜨지 않습니다. 저는 다음처럼 실행되는데, 어떻게 스폰서를 제외할 수 있을까요??
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
removeItem을 안하면 어떤 단점이 있나요?
같은 키 값으로 setItem을 하게 되면 값이 덮어씌워지면서 원하는대로 동작하던데, 권장하지 않는 방식인가요? 이게 오히려 간편해서 좋은거 같아서요.