>  기사  >  위챗 애플릿  >  미니 프로그램 개발 및 웹 콘텐츠 파싱

미니 프로그램 개발 및 웹 콘텐츠 파싱

巴扎黑
巴扎黑원래의
2017-08-23 16:10:401584검색


WeChat Mini 프로그램 웹 페이지 콘텐츠 구문 분석에 대한 자세한 설명

현재 WeChat Mini 프로그램에서 사용할 웹 페이지를 구문 분석하는 데 필요한 크롤러를 작성 중입니다. 텍스트와 이미지 분석 모두 이해하기 쉽고, 미니 프로그램에는 프레젠테이션을 위한 해당 텍스트와 이미지 태그도 있습니다. 테이블과 같은 더 복잡한 것들은 서버 측 구문 분석이든 미니 프로그램 렌더링이든 모든 상황을 다루기가 매우 힘들고 어렵습니다. 그래서 표에 해당하는 HTML 코드를 이미지로 변환하는 것이 해결 방법이 아닐까 생각했습니다.

여기에서는 PhantomJS를 가볍게 캡슐화하고 웹 페이지를 스크린샷으로 쉽게 저장할 수 있는 node-webshot 모듈을 사용합니다.

먼저 Node.js와 PhantomJS를 설치한 다음 새 js 파일을 만들고 node-webshot 모듈을 로드합니다.

const webshot = require('webshot');

옵션 정의:

const options = {  // 浏览器窗口 
 screenSize: {  
   width: 755,  
     height: 25  },  // 要截图的页面文档区域 
      shotSize: {   
       height: 'all'  },  // 网页类型  
       siteType: 'html'
       };

여기서 브라우저 창의 너비는 웹 페이지에 따라 합리적으로 설정되어야 합니다. , 높이를 아주 작은 값으로 설정할 수 있습니다. 그런 다음 페이지 문서 영역의 높이를 모두로 설정해야 하며 너비는 기본적으로 창 너비로 설정되어 테이블이 가장 작은 크기로 완전히 스크린샷될 수 있습니다.

다음으로 html 문자열을 정의합니다.

let html = "target rich text html code, eg: <table>...</table>";

내부의 HTML 코드는 줄 바꿈을 제거하고 큰따옴표를 작은따옴표로 바꿔야 합니다.

마지막으로 스크린샷:

webshot(html, &#39;demo.png&#39;, options, (err) => {  if (err)   
 console.log(`Webshot error: ${err.message}`);});

이러한 방식으로 HTML 코드를 로컬 이미지로 변환하여 Qiniu Cloud 등에 업로드할 수 있습니다. 서버사이드 파싱이든 미니 프로그램 프리젠테이션이든 전혀 어려움이 없습니다...

위 내용은 미니 프로그램 개발 및 웹 콘텐츠 파싱의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.