묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Node.js로 웹 크롤링하기
npm start 후 error
UnhandledPromiseRejectionWarning: SequelizeConnectionError: Client does not support authentication protocol requested by server; consider upgrading MySQL client 이런 오류가 생기는데, 어떤게 문제인지 모르겠습니다. 원래 강의대로라면 crawler schema에 table이 생겨야하는데, 위 오류가 발생합니다. mysql 설치시 validation을 설치했는데 그거 때문에 생긴 문제일까요? 코드는 다음 코드에서 돌렸습니다. const puppeteer = require("puppeteer"); const dotenv = require("dotenv"); const db = require("./models"); dotenv.config(); const crawler = async () => { await db.sequelize.sync(); try { let browser = await puppeteer.launch({ headless: false, args: ["--window-size=1920,1080", "--disable-notifications"] }); let page = await browser.newPage(); await page.setViewport({ width: 1080, height: 1080 }); await page.goto("http://spys.one/free-proxy-list/KR/"); const proxies = await page.evaluate(() => { const ips = Array.from( document.querySelectorAll("tr > td:first-of-type > .spy14") ).map(v => v.textContent.replace(/document\.write\(.+\)/, "")); const types = Array.from( document.querySelectorAll("tr > td:nth-of-type(2)") ) .slice(5) .map(v => v.textContent); const latencies = Array.from( document.querySelectorAll("tr > td:nth-of-type(6) .spy1") ).map(v => v.textContent); return ips.map((v, i) => { return { ip: v, type: types[i], latency: latencies[i] }; }); }); const filtered = proxies .filter(v => v.type.startsWith("HTTP")) .sort((p, c) => p.latency - c.latency); await Promise.all( filtered.map(async v => { return db.Proxy.upsert({ ip: v.ip, type: v.type, latency: v.latency }); }) ); await page.close(); await browser.close(); const fastestProxies = await db.Proxy.findAll({ order: [["latency", "ASC"]] }); browser = await puppeteer.launch({ headless: false, args: [ "--window-size=1920,1080", "--disable-notifications", `--proxy-server=${fastestProxies[0].ip}` ] }); const browser2 = await puppeteer.launch({ headless: false, args: [ "--window-size=1920,1080", "--disable-notifications", `--proxy-server=${fastestProxies[1].ip}` ] }); const browser3 = await puppeteer.launch({ headless: false, args: [ "--window-size=1920,1080", "--disable-notifications", `--proxy-server=${fastestProxies[2].ip}` ] }); // const context = await browser.createIncognitoBrowserContext(); // const context2 = await browser.createIncognitoBrowserContext(); // const context3 = await browser.createIncognitoBrowserContext(); // console.log(await browser.browserContexts()); const page1 = await browser.newPage(); const page2 = await browser2.newPage(); const page3 = await browser3.newPage(); await page1.goto( "https://search.naver.com/search.naver?sm=top_hty&fbm=1&ie=utf8&query=%EB%82%B4+%EC%95%84%EC%9D%B4%ED%94%BC" ); await page2.goto( "https://search.naver.com/search.naver?sm=top_hty&fbm=1&ie=utf8&query=%EB%82%B4+%EC%95%84%EC%9D%B4%ED%94%BC" ); await page3.goto( "https://search.naver.com/search.naver?sm=top_hty&fbm=1&ie=utf8&query=%EB%82%B4+%EC%95%84%EC%9D%B4%ED%94%BC" ); // page = await browser.newPage(); // await page.goto('https://search.naver.com/search.naver?sm=top_hty&fbm=1&ie=utf8&query=%EB%82%B4+%EC%95%84%EC%9D%B4%ED%94%BC'); // await page.waitFor(10000); // await page.close(); // await browser.close(); await db.sequelize.close(); } catch (e) { console.error(e); } }; crawler();
-
미해결자바 스프링 프레임워크(renew ver.) - 신입 프로그래머를 위한 강좌
강의 소리가 너무 작아요
카페에서 노트북으로 듣고 있는데 이강의는 무소음 장소에서 듣는 용도 인가요?
-
미해결실전 HTML & CSS 강좌
강의 예제 파일
강의 예제 파일을 첨부해주시면 좋겠는데... 불가한가요?
-
미해결리눅스 시스템 프로그래밍 - 이론과 실습
질문입니다
혹시 개인적으로 리눅스 분야 관련해서 여쭤봐도 될까요?? 취업진로긴합니다..
-
미해결리눅스 시스템 프로그래밍 - 이론과 실습
길이 이동이 어렵네요 ㅠㅠ
저 프로그램은 결국 buf가 EOF까지가면 끝나는 프로그램이군요...
-
미해결아이폰 앱 개발 입문 2편
저는 강의처럼 라이브러리가 안보이는데
어떻게 보이게하나요? 쉬프트 커맨트 L 로 쓰고있습니다 ㅠㅠ
-
해결됨프로그래밍, 데이터 과학을 위한 파이썬 입문
for 문에서 invalid syntax
for i in range(i, 10): i <10 i += 1 print(i) 이렇게 했을 때 invalid syntax 가 나는 이유가 i 가 for 문 안에 있어서 그 밖으로 나오면 모르는 값이라고 해서 그런 건가요?
-
해결됨프로그래밍, 데이터 과학을 위한 파이썬 입문
for 문
for i in range(i, 10): i < 10 i += 1 print(i) 이렇게 하니까 True 2 True 3 True 4 True 5 True 6 True 7 True 8 True 9 True 10 이렇게 나오던데 왜 True 가 나오는 건가요?
-
미해결디자인 1도 몰라도 쉽게 배우는 Sketch App 모바일 UI 디자인 [초급]
수업자료 관련 질문
예제파일은 어디서 다운받을 수 있나요?
-
미해결CSS 기본부터 활용까지
태그 단축키
#small+#large 적고 바로 태그로 만드는 단축키가 있나요??
-
미해결스프링 기반 REST API 개발
토큰 갱신 질문드립니다.
강의자료 38. 이벤트 API 점검 의 토큰 갱신하기 입니다. 폼의 token 이 refresh_token 으로 수정되어야 하지 않을까 하는 생각에 글을 남깁니다. 토큰 재발급 POST :: http://localhost:8081/oauth/token -> 500 Error { "error": "server_error", "error_description": "Internal Server Error" } -> 200 OK { "access_token": "d1110be3-1603-4724-9aa1-54b990fa2cb5", "token_type": "bearer", "refresh_token": "653c38ac-f000-4955-9e01-06bc29d4be77", "expires_in": 591, "scope": "read write" }
-
미해결트렐로 개발로 배우는 Vuejs, Vuex, Vue-Router 프론트엔드 실전 기술
password 입력 불가
'password'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라는 문장이 뜹니다
-
미해결iOS12 앱 개발 퍼펙트 가이드
소스코드가 작성이 되어져서 동강이 시작 됩니다.
1. Stop Watch 2_2에서 2_3강의로 진행 될때... startStopButton클릭시 실행되는 소스코드가 거의 작성되어 있는 상태에서 동강이 시작 됩니다. 2. SearchBar 3_2도 Storyboard에서 어느정도 진행된 상태에서 동강이 시작 됩니다. 확인 부탁 드려요
-
미해결파이썬 사용자를 위한 웹개발 입문 A to Z Django + Bootstrap
url 주소를 id에서 영문으로 바꾸기가 아직 안되서여
강의에서 알려주신대로 따라한거 같은데 안되서여 가비아에 주소 등록하고 아래처럼 vultr에서 등록했는데 방법이 맞는것일까여? 자세히 알려주시면 감사여 ~!~!
-
미해결Vue.js - Django 연동 웹 프로그래밍
server error
http://127.0.0.1:8000/에 접속하면 다음과 같은 에러가...A server error occurred. Please contact the administrator.부트스트랩 메뉴를 장고메뉴로 바꾸려고base.htmlhome.html두가지를 편집했더니 위와 같은 메시지가 출력됩니다.
-
미해결유니티 게임 개발 (2D) 실전편 - 스크립트는 물론, 디자인 패턴과 알고리즘까지
자료 다운로드 받기 링크 좀 알려주세요.
자료 다운로드 받기 링크로 들어가면 페이지가 없다고 뜹니다..
-
미해결3dsmax 초급부터 전문가까지 - 한방에 끝내는 3dsmax 강좌
노말맵 추출시 엣지추가관련 질문드려요
노말맵 추출시 음영이 몰릴때? 엣지를 추가하면 해결되는 현상의 원리가 궁금한데 혹시 알 수 있을까요? 강의에서 말해주시긴 하셨는데 잘 이해가 되지 않아 질문드려요 ㅠㅠ
-
미해결밑바닥 부터 시작하는 머신러닝 입문
()구별
numpy 특징중에서는 shape는 ()를 안붙히고 flatten같은 경우에는 ()를 붙여줘서 호출하는데 그걸 구별하는 기준이 무엇인지 궁금합니다. 아니면 그냥 문법적인 특징인지 궁금합니다.
-
미해결스프링 기반 REST API 개발
Gradle 인 경우엔 어떻게 선언해줘야하나요??
Gradle 인 경우엔 어떻게 선언해줘야하나요??
-
해결됨Vue.js - Django 연동 웹 프로그래밍
UnicodeDecodeError: 'cp949' codec can't decode byte 0xe2 in position 9735: illegal multibyte sequence
post기능 구현중 유니코드에러가 뜨는데 어떻게 해결해야할까요...