>  기사  >  웹 프론트엔드  >  Node.js는 WeChat 애플릿을 구현하여 웹 콘텐츠를 캡처합니다.

Node.js는 WeChat 애플릿을 구현하여 웹 콘텐츠를 캡처합니다.

不言
不言앞으로
2018-10-20 17:17:242831검색

이 글의 내용은 웹 콘텐츠를 캡처하기 위해 node.js를 구현하는 내용입니다. 필요한 친구들이 참고할 수 있기를 바랍니다.

최근 위챗 미니 프로그램의 클라우드 개발 기능을 연구하고 있습니다. 클라우드 개발의 가장 큰 장점은 프런트 엔드에 서버를 구축할 필요가 없다는 점입니다. 클라우드 기능을 사용하면 온라인으로 시작할 수 있는 WeChat 애플릿을 처음부터 작성할 수 있어 서버 구입 비용이 들지 않습니다. WeChat 애플릿을 프런트엔드에서 백엔드까지 연습해보고 싶습니다. 개발은 여전히 ​​좋은 선택입니다. 하루 만에 위챗 미니 프로그램을 론칭하는 것도 가능하다.

클라우드 개발의 장점

클라우드 개발은 개발자에게 완벽한 클라우드 지원을 제공하여 백엔드 및 운영 및 유지 관리 개념을 약화시킵니다. 핵심 비즈니스 개발을 위해 플랫폼에서 제공하는 API를 사용할 필요가 없습니다. 신속한 온라인 및 반복을 달성할 수 있으며 동시에 이 기능은 개발자가 이미 사용하고 있는 클라우드 서비스와 호환되며 상호 배타적이지 않습니다.

클라우드 개발은 현재 세 가지 기본 기능을 제공합니다.

  1. 클라우드 기능: 클라우드에서 실행되는 코드, WeChat 개인 프로토콜은 자연스럽게 인증되며 개발자는 자신의 비즈니스 로직 코드만 작성하면 됩니다.

  2. 데이터베이스: 하나의 JSON 데이터베이스 미니 프로그램의 프런트 엔드에서 작동하며 클라우드 기능에서도 읽고 쓸 수 있습니다

  3. 저장: 미니 프로그램의 프런트 엔드에서 클라우드 파일을 직접 업로드/다운로드하고 클라우드 개발 콘솔에서 시각적으로 관리할 수 있습니다

그렇습니다. 지각 있는 학생이 공부할 수 있는 클라우드 개발에 대한 지식이 너무 많습니다. 공식 문서 주소: https://developers.weixin.qq....

웹 콘텐츠 캡처

애플릿은 질문에 답하는 것이므로 질문의 출처는 질문입니다. 인터넷으로 검색해서 질문 하나하나 붙여넣는 것도 하나의 방법인데 이런 반복적인 작업으로 아마 포스팅 10개 정도 하다 포기하게 될 것 같아요. 그래서 웹 스크래핑을 생각하게 됐어요. 방금 전에 배운 노드를 우연히 집어 들었습니다.

필수 도구:

  1. Cheerio. 서버측 JQuery와 유사한 패키지입니다. 주로 크롤링된 콘텐츠를 분석하고 필터링하는 데 사용됩니다.

  2. node의 fs 모듈. 노드와 함께 제공되는 모듈로 파일을 읽고 쓰는 데 사용됩니다. 이는 구문 분석된 데이터를 json 파일에 쓰는 데 사용됩니다.

  3. Axios(선택 사항). 웹사이트의 HTML 페이지를 크롤링하는 데 사용됩니다. 내가 원하는 데이터는 웹 페이지의 버튼을 클릭한 후 렌더링되기 때문에 이 URL에 직접 접속하여 캡처할 수 없습니다. 원하는 내용을 복사해서 문자열로 저장하고 문자열을 파싱할 수밖에 없습니다.

다음으로 npm init를 사용하여 노드 프로젝트를 초기화하고 Enter를 눌러 package.json 파일을 생성할 수 있습니다.
그런 다음 npm install --save axios Cherio는 Cherio 및 Axios 패키지를 설치합니다.

핵심은 Cherio를 사용하여 jquery와 유사한 기능을 구현하는 것입니다. 캡처한 콘텐츠를 Cherio.load(quesitons)하면 jquery 작업에 따라 DOM을 가져오고 원하는 데이터를 조합할 수 있습니다.

마지막으로 fs.writeFile을 사용하여 데이터를 json 파일에 저장하면 작업이 완료됩니다.

구체적인 코드는 다음과 같습니다

let axios = require("axios");

let cheerio = require("cheerio");

let fs = require("fs");

// 我的html结构大致如下,有很多条数据
const questions = `
  •       
            
    举头望明月,__________。
            
              回首白云低         
            
              低头思故乡         
            
              当春乃发生         
            
              红掌拨清波         
          
        
  •     
  •       
            
    __________,却话巴山夜雨时。
            
              何当共剪西窗烛         
            
              在天愿做比翼鸟         
            
              世味年来薄似纱         
            
              两岸青山相对出         
          
        
  •     ..........     `;      const $ = cheerio.load(quesitons); var arr = []; for (var i = 0; i  {    if (err) throw err;    console.log("json文件已成功保存!"); });

    json으로 저장한 후 파일 형식은 다음과 같으므로 json 파일을 통해 클라우드 서버에 업로드할 수 있습니다.

    Node.js는 WeChat 애플릿을 구현하여 웹 콘텐츠를 캡처합니다.

    Notes

    WeChat 애플릿 클라우드에서 개발한 데이터베이스에서는 업로드된 json 파일의 데이터 형식에 주의해야 합니다. 이전에는 항상 형식 오류가 발생했지만 나중에 발견했습니다. JSON 데이터는 배열이 아니지만 JSON Lines와 유사합니다. 즉, n은 쉼표 대신 각 레코드 개체를 구분하는 데 사용됩니다. 따라서 노드가 작성한 json 파일을 성공적으로 업로드하기 전에 작은 프로세스를 수행해야 합니다.

    위 내용은 Node.js는 WeChat 애플릿을 구현하여 웹 콘텐츠를 캡처합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제