55,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결Node.js로 웹 크롤링하기
Promise All 질문
노드 강좌에서 PromiseAll 에 Promise 객체들을 넣는것 까지는 알았는데 크롤러 강좌중에 Promise.all 해서 안에다 Map함수를 쓰는 코드는 어떻게 이해해야 하죠? map에서 프로미스 객체를 리턴하는것도 아닌데, promise.all 이 알아서 await 부분이 있는 모든 Promise객체를 모아서 처리하나요? await Promise.all( records.map(async (r, i) => { try { const page = await brs.newPage(); await page.goto(r[1]); const scoreEl = await page.$(".score.score_left .star_score"); if (scoreEl) { const text = await page.evaluate(tag => tag.textContent, scoreEl); console.log(r[0], "rate", text.trim()); } await page.close(); } catch (e) { console.error(e); } }) );
- 미해결Node.js로 웹 크롤링하기
헤드리스 옵션 질문있습니다.
헤드리스를 쓰면, 화면이 랜더링이 아예 안되는건가요? 그러면 axios에서 텅빈 HTML를 가져오는것 처럼 될 수 있지 않나요? 아니면 단지 크롬 창만 안뜨는건지 궁금합니다.
- 미해결Node.js로 웹 크롤링하기
4-3 강좌 'src' of null 에러 질문입니다.
안녕하세요 강사님 깃허브 가서 강사님께서 작성하신 현재 nDTlD로 class가 되어있어서 변경해서 넣어보았습니다. 그리고 아래 같은 질문에 강사님 답변이 있어서 강사님 코드에서 while (result.length <= 30) { <- 이 부분 바로 앞에 await page.waitForSelector('.nDTlD'); 를 넣어보고 해보았습니다. https://github.com/ZeroCho/nodejs-crawler/blob/master/7.image-scroll/index.js (강사님 코드 주소입니다.) 하지만 제가 해본 결과로는 같은 에러가 발생하여 질문을 드립니다. 혹시 한번만 더 확인을 해 주실 수 있을까요?? 제가 해보기로는 querySelectorAll('.nDTlD img.2zEKz') 을 해서 src를 검출했을 떄는 에러가 나지 않지만 .nDTlD로 먼저 추출한 후 evaluate 함수 안에서 src 작업을 하면 에러가 나는 것 같습니다. 시간 나실때 한번 확인 해 주시고 답변해주시면 감사하겠습니다.
- Node.js로 웹 크롤링하기
cheerio로 localStorage를 가져오고싶은데, 도움을 요청드립니다.
삭제된 글입니다
- 미해결Node.js로 웹 크롤링하기
버튼 입력 후 url 변경 시 태그 캐치
선생님 퍼페티어로 특정 페이지에서 특정 정보를 입력한 후 그 정보를 submit한 뒤에 페이지가 url이 바뀌는데, 이 때부터 아무리 선택자를 긁어와도 해당 선택자가 없다고 뜹니다. 혹시 페이지가 바뀐 뒤에 태그를 감지하기 위해 따로 설정해줘야 하는 것이 있을까요? 제가 크롤링을 시도한 주소는 http://www.letskorail.com/ebizbf/EbizBfTicketSearch.do 입니다.
- 미해결Node.js로 웹 크롤링하기
이미지 가져오기!
자막으로 querySelectorAll -> querySelector 로 바꾸라고 되있는데.. 이렇게 되면 게시글에 이미지가 여러개일 때는 하나밖에 못가져오는거 아닌가요?? 문제가 있다고 생각해서 나름대로 코드를 바꿔봣는데 이 코드 어떤가요?? const img = firstFeed.querySelectorAll('[class=mtm] img') && Array.from(firstFeed.querySelectorAll('[class=mtm] img')).map(now => now.src)
- 해결됨Node.js로 웹 크롤링하기
sequelize init error
sequelize, sequelize-cli 설치 이상없이 완료되었는데, init시 하기와 같이 또는 보안에러를 어떻게 조치하면 될까요? ----------------------------------------------- sequelize : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Users\Admin\AppData\Roaming\npm\sequelize.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오. 위치 줄:1 문자:1 + sequelize init; + ~~~~~~~~~ + CategoryInfo : 보안 오류: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
- 미해결Node.js로 웹 크롤링하기
에러 질문
제로초님 깃헙 코드(https://github.com/ZeroCho/nodejs-crawler/blob/master/7.image-scroll/index.js)로 돌려봤는데 Error: Evaluation failed: TypeError: Cannot read property 'src' of null 에러가 나오는데 왜 그런거죠? puppeteer버전이 바껴서 그런걸까요? unsplash.com 태그는 그대로 인것 같습니다.
- 미해결Node.js로 웹 크롤링하기
크롤링 관련 몇가지 질문입니다.
제로초님, 몇가지를 모아 질문드리오니 조언부탁드립니다. 1. proxy 접속 - latency가 낮은 IP로 접속하는 로직을 적용하면 (정규식으로 document.querySelector 이하 replace), DOM에서 없었는데 IP뒤에 "undefined:8080"이 붙습니다. - 상기 "undefined:8080"을 정규식으로 다시 정리하여 proxy 사용 접속했으나, "proxy 사용 인터넷 연결 안됨" 메시지가 뜨는데요, 어떻게 해결하는 방향이 있을까요? 2. node로 IE 크롤링은 불가한 걸까요? 회사 업무에서 IE로만 접속 가능한 사이트를 대상으로 실습해 보려는데 node로는 안되는것 같아서요 3. 특정 사이트 (http://www.courtauction.go.kr/)은 postman으로 요청날리고 preview를 해도 텅비어 나타납니다. 이런경우 크롤링 방법이 없는지요? 이상입니다.
- 미해결Node.js로 웹 크롤링하기
질문입니다.
위사진에서 $('.detail h2').textContenct하면 열렙전사 김세훈 이런식으로 제목과 이름이 둘다 크롤링 되는데요 혹시 이름을 제외한 제목(열렙전사)만 크롤링 할수 있을까요?
- 미해결Node.js로 웹 크롤링하기
안녕하세요 크롤링관련 질문이 있습니다.
강의 감사히 잘 듣고 있습니다. 제가 크롤러를 만들어보려고 하는데요 잘 안되는 부분이 있어서 질문드립니다. 지금 파란색 블록지정된부분까지는 쿼리셀렉터로 지정을 하겠는데요 document.querySelector('tr:nth-child(2) td:nth-child(2) a').onclick으로요 저기에서 onclick안의 함수의 인자로 있는 155라는 숫자를 빼내오고 싶은데 혹시 가능한 방법이 있을까요? 좋은 하루 되세요~
- 미해결Node.js로 웹 크롤링하기
셀레니움 자동 실행
프로그램을 다 작성 후 visual studio code에서 파일을 수정하거나 새로 만들면 자동으로 프로그램이 실행됩니다. 혹시 이 문제를 어떻게 해결해야 하나요 ㅠㅠ?? 자동이라는 키워드로 구글링을 계속해보지만 비슷한 질문이 거의 없어서요
- 미해결Node.js로 웹 크롤링하기
주기적으로 크롤링 자동 실행
안녕하세요. 강의 잘 듣고 있습니다. 수강도중 질문이 있어서 올립니다. 타 웹사이트에서 리뷰들을 가져와서 제 디비에 리뷰를 관리한다고 하면, 주기적으로 새로운 댓글들을 업로드할 필요가 있는데 이경우 어떻게 처리를 해야하나요. 찾아보면 java 'Quartz' 는 나오는데 노드를 사용하면서 좋은 라이브러리를 못 찾겠습니다. 혹시 추천하시는 라이브러리 있으신가요?
- 미해결Node.js로 웹 크롤링하기
puppeteer 메모리
puppteer.launch({headless}) 에서 true로 했을때랑 false로 했을때랑 메모리 차이가 있나요?
- 미해결Node.js로 웹 크롤링하기
선생님, 질문 이어드려요
혹시 댓글에 대한 댓글은 알림이 안가실가봐 새로 써서 질문 이어드려요 실제 해당 현상이 일어나는 url이에요(실제 댓글은 300개가 넘으나 더보기 버튼 2번만 눌러도 더 이상 노출 x, 앱에서는 끝까지 볼 수 있음) https://www.instagram.com/p/B5WV9wlFNyj/comments/?hl=ko
- 미해결Node.js로 웹 크롤링하기
댓글 더보기 사라짐
안녕하세요 선생님, 인스타그램 댓글을 모두 수집해오고싶어서 댓글 더보기를 반복해서 누르게 한 후 댓글을 가져오게끔 했는데 다음과 같은 현상이 있었어요. 1) 크롤러를 돌린게 아니라, 그냥 평범하게 pc웹, 스마트폰 웹으로 열어서 게시글의 댓글들을 더 보려고 할 때, 실제 댓글은 1200개인데 더보기 버튼을 두번만 눌러도 더보기 버튼이 더 이상 노출되지 않아서 댓글을 50~60개정도밖에 보질 못해요. (하지만 앱으로 보면 더보기 버튼이 사라지지 않고 계속 잘 나옴, 스마트폰 * pc * 크롬 * 익스플로러 웹으로 보면 이런 현상이 있어요.) * 모든 글들이 그렇진 않고 10개중의 2개 정도의 글이 이런 현상이 있어서 댓글을 전부 가져오질 못해요.
- 미해결Node.js로 웹 크롤링하기
인터넷 연결이 안돼요 선생님
선생님, proxy 정보를 가져오는거까진 잘되는데, 해당 프록시로 접속하면 인터넷이 되질 않아요 # 가져온 프록시 데이터 # 프록시 이용하여 브라우저 열기 let proxies = await page.evaluate((proxyClass) => { const ips = Array.from(document.querySelectorAll(proxyClass.ip)).map(ip => ip.textContent.replace(/document\.write\(.+\)/, '')); const types = Array.from(document.querySelectorAll(proxyClass.type)).slice(5).map(type => type.textContent); const speeds = Array.from(document.querySelectorAll(proxyClass.speed)).map(speed => parseFloat(speed.textContent)); return ips.map((ip, index) => { return { ip: ip, type: types[index], speed: speeds[index] } }); }, proxyClass); proxies = proxies.filter(proxy => proxy.type.startsWith('HTTP')).sort((a,b) => a.speed - b.speed); await page.close(); await browser.close(); console.log(proxies[0]); console.log(proxies); browser = await puppeteer.launch({ headless: headless, args: ["--window-size=1920,1080", '--disable-notifications', "--no-sandbox", `--proxy-server=${proxies[0].ip}`, "--ignore-certificate-errors"] }); page = await browser.newPage(); await page.waitFor(1000000); # 브라우저를 열고 검색한 결과
- 미해결Node.js로 웹 크롤링하기
Failed to luach chrome
선생님, herorku라는 배포 서비스를 이용해서 배포 후 실행을 해봤는데 다음과 사진과 같은 에러가 떠요 로컬에선 잘되는데 배포한 버전은 저런 에러가 떠요 Error: Failed to launch chrome! 2019-12-02T03:37:41.850808+00:00 app[web.1]: /app/node_modules/puppeteer/.local-chromium/linux-706915/chrome-linux/chrome: error while loading shared libraries: libX11-xcb.so.1: cannot open shared object file: No such file or directory
- 미해결Node.js로 웹 크롤링하기
선생님 인수가 전달이 안돼요
선생님 아래와 같이 $$eval에 tagClass라는 인수를 전달했는데 전달이 안돼요 await page.$$eval("._77bp", replies => replies.map((reply, tagClass) => { // 자식의 바로 윗부모를 선택해야돼 const link = tagClass; return {link}; }), tagClass);
- 미해결Node.js로 웹 크롤링하기
$$eval 파라미터
선생님, page.evaluate처럼 $$eval에도 파라미터를 넘겨줄 특별한 방법이 있나요?