当前位置: 首页 > 专利查询>江苏大学专利>正文

一种基于微信小程序和爬虫的数据展示方法技术

技术编号:22167109 阅读:31 留言:0更新日期:2019-09-21 10:40
本发明专利技术公开了一种基于微信小程序和爬虫的数据展示方法,通过爬虫框架Scrapy对各个网站进行爬取数据,将爬取的数据村存储到云服务器上的MongoDB数据库中,通过Python的Django框架编写后端代码来获取爬取到的数据,并提供接口给微信小程序来获取数据将其进行展示。本发明专利技术充分利用了微信小程序的无需安装、节省内存的优点,运用了爬虫技术来爬取数据,解决以往安装App才能浏览信息的问题。

A Data Display Method Based on Wechat Program and Crawler

【技术实现步骤摘要】
一种基于微信小程序和爬虫的数据展示方法
本专利技术属于计算机应用
,具体是一种基于微信小程序和爬虫的数据展示方法。
技术介绍
Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(DoNotRepeatYourself)原则。MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它的特点是高性能、易部署、易使用,存储数据非常方便;主要功能特性是面向集合存储,易存储对象类型的数据。微信小程序,简称小程序,英文名MiniProgram,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。全面开放申请后,主体类型为企业、政府、媒体、其他组织或个人的开发者,均可申请注册小程序,小程序、订阅号、服务号、企业号是并行的体系。2017年1月9日,张小龙在2017微信公开课Pro上发布的小程序正式上线。小程序是一种不用下载就能使用的应用,也是一项门槛非常高的创新,经过将近两年的发展,已经构造了新的小程序开发环境和开发者生态。小程序也是这么多年来中国IT行业里一个真正能够影响到普通程序员的创新成果,小程序还在许多城市实现了支持地铁、公交服务。正是小程序有如上的优点,所以设计一种基于微信小程序和爬虫的数据展示方法。Vuejs是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vuejs被设计为可以自底向上逐层应用。Vuejs的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vuejs也完全能够为复杂的单页应用提供驱动。如果你学会Html,js,css也是可以编写小程序代码的,只不过Vuejs更有助于编写小程序代码,更容易上手。
技术实现思路
针对小程序的特点、各类信息的全面展示以及Django框架的优势,本专利技术提出了一种基于微信小程序和爬虫的数据展示方法。一种基于微信小程序和爬虫的数据展示方法,包括以下步骤:步骤1:首先对页面进行编写,使用微信开发者工具进行编写模块的页面代码,在此工具中先创建一个项目,创建的项目自带两个文件夹pages和utils和四个文件,四个文件分别是app.js、app.json、app.wxss和project.config.json;每个文件夹和每个文件有着不同的功能,pages文件夹中每个文件夹代表着每个模块,即模块文件夹,每个模块文件夹都有四个文件,分别是js、json、wxml和wxss文件,其中js文件是写js代码,处理页面的动态效果和数据获取,json文件是关于此模块配置信息,wxml是此模块的页面框架代码,最后wxss文件是页面渲染代码,四个文件组成一个模块;步骤2:完成步骤1的页面的编写,进一步需要对页面的数据进行动态的展示;在软件PyCharm中,通过在控制台中输入scrapystartprojectprojectName命令,创建一个Scrapy框架的爬虫项目,projectName是项目名,然后进入到projectName目录中,再在控制台中输入scrapygenspiderscrapyNameURL命令,创建一个爬虫文件,scrapyName是爬虫文件名,URL是爬虫网站的地址,输入scrapycrawlscrapyName来运行项目;电影模块、IT新闻模块、段子模块的数据都是从三个不同网站上爬取的,每个模块的爬虫都要创建一个爬虫文件,爬取不同的数据,将爬取的数据存储到云服务器上的mongoDB数据库上,在爬虫文件中,属性name、allowed_domains和start_urls分别是该爬虫的名称、域名名称和目标网站的URL,函数parse是处理数据的逻辑代码,将得到的页面代码经过xpath得到目标数据,再封装成对象,通过yieldscrapy.Request代码将封装的对象传给pipelines.py文件,在该文件的process_item函数中,参数item就是封装好的对象;接下来就是将数据传给云服务器上的mongoDB数据库上,该数据库是非关系型数据库,每条数据的字段可以是不同的字段,适合用于存储爬虫数据;数据获得后,需要在微信小程序上获得数据,也就是需要接口(API),通过调用接口将云服务器上mongoDB数据库的数据获取到返回给微信小程序,微信小程序将返回的数据展示在微信小程序的页面。进一步,步骤1中包括,在pages文件夹中创建名为welcome文件夹,该模块为授权登录模块,在welcome文件夹中分别创建welcome.js、welcome.json、welcome.wxss和welcome.wxml四个文件,每个文件有着不同的功能;在welcome.wxml文件中书写‘授权登录’模块的页面代码,主要用到标签是<view>、<image>、<button>和<text>,<view>标签是创建一个页面区域,在这个区域中填充内容,类似Html中的<div>标签,<image>标签是用于展示图片,<button>标签用于创建‘授权登录’按钮,<text>标签是展示文字信息的;welcome.js文件是关于触发事件的代码,当点击‘授权登录’按钮时,会执行bindGetUserInfo函数,在该函数中记录登录者的信息,并将页面跳转到文与字模块,展示页面文与字模块之前,会执行posts模块的post.js文件中的onLoad方法,在这个函数中会从本地上加载要展示的数据记录,每条数据记录包括一张图片信息和文字信息,welcome.json主要是注册该模块的信息,设置了导航栏的背景颜色,welcome.wxss文件是对页面进行渲染的,使页面看起来整洁对齐,里面的代码就是Html中的css代码。进一步,步骤1中包括,在pages文件夹中创建名为movies的文件夹,即电影模块,这个模块是关于电影数据的展示;在movies文件夹中创建四个文件,分别是movies.js、movies.json、movies.wxss和movies.wxml,点击底部导航菜单中的‘电影’按钮,会进入电影模块的首页,展示出三种分类的电影,即正在上映的电影、即将上映的电影和豆瓣Top250电影,在首页中先展示每个类本文档来自技高网
...

【技术保护点】
1.一种基于微信小程序和爬虫的数据展示方法,其特征在于,包括以下步骤:步骤1:首先对页面进行编写,使用微信开发者工具进行编写模块的页面代码,在此工具中先创建一个项目,创建的项目自带两个文件夹pages和utils和四个文件,四个文件分别是app.js、app.json、app.wxss和project.config.json;每个文件夹和每个文件有着不同的功能,pages文件夹中每个文件夹代表着每个模块,即模块文件夹,每个模块文件夹都有四个文件,分别是js、json、wxml和wxss文件,其中js文件是写js代码,处理页面的动态效果和数据获取,json文件是关于此模块配置信息,wxml是此模块的页面框架代码,最后wxss文件是页面渲染代码,四个文件组成一个模块;步骤2:完成步骤1的页面的编写,进一步需要对页面的数据进行动态的展示;在软件PyCharm中,通过在控制台中输入scrapy startproject projectName命令,创建一个Scrapy框架的爬虫项目,projectName是项目名,然后进入到projectName目录中,再在控制台中输入scrapy genspider scrapyName URL命令,创建一个爬虫文件,scrapyName是爬虫文件名,URL是爬虫网站的地址,输入scrapy crawl scrapyName来运行项目;电影模块、IT新闻模块、段子模块的数据都是从三个不同网站上爬取的,每个模块的爬虫都要创建一个爬虫文件,爬取不同的数据,将爬取的数据存储到云服务器上的mongoDB数据库上,在爬虫文件中,属性name、allowed_domains和start_urls分别是该爬虫的名称、域名名称和目标网站的URL,函数parse是处理数据的逻辑代码,将得到的页面代码经过xpath得到目标数据,再封装成对象,通过yield scrapy.Request代码将封装的对象传给pipelines.py文件,在该文件的process_item函数中,参数item就是封装好的对象;接下来就是将数据传给云服务器上的mongoDB数据库上,该数据库是非关系型数据库,每条数据的字段可以是不同的字段,适合用于存储爬虫数据;数据获得后,需要在微信小程序上获得数据,也就是需要接口(API),通过调用接口将云服务器上mongoDB数据库的数据获取到返回给微信小程序,微信小程序将返回的数据展示在微信小程序的页面。...

【技术特征摘要】
1.一种基于微信小程序和爬虫的数据展示方法,其特征在于,包括以下步骤:步骤1:首先对页面进行编写,使用微信开发者工具进行编写模块的页面代码,在此工具中先创建一个项目,创建的项目自带两个文件夹pages和utils和四个文件,四个文件分别是app.js、app.json、app.wxss和project.config.json;每个文件夹和每个文件有着不同的功能,pages文件夹中每个文件夹代表着每个模块,即模块文件夹,每个模块文件夹都有四个文件,分别是js、json、wxml和wxss文件,其中js文件是写js代码,处理页面的动态效果和数据获取,json文件是关于此模块配置信息,wxml是此模块的页面框架代码,最后wxss文件是页面渲染代码,四个文件组成一个模块;步骤2:完成步骤1的页面的编写,进一步需要对页面的数据进行动态的展示;在软件PyCharm中,通过在控制台中输入scrapystartprojectprojectName命令,创建一个Scrapy框架的爬虫项目,projectName是项目名,然后进入到projectName目录中,再在控制台中输入scrapygenspiderscrapyNameURL命令,创建一个爬虫文件,scrapyName是爬虫文件名,URL是爬虫网站的地址,输入scrapycrawlscrapyName来运行项目;电影模块、IT新闻模块、段子模块的数据都是从三个不同网站上爬取的,每个模块的爬虫都要创建一个爬虫文件,爬取不同的数据,将爬取的数据存储到云服务器上的mongoDB数据库上,在爬虫文件中,属性name、allowed_domains和start_urls分别是该爬虫的名称、域名名称和目标网站的URL,函数parse是处理数据的逻辑代码,将得到的页面代码经过xpath得到目标数据,再封装成对象,通过yieldscrapy.Request代码将封装的对象传给pipelines.py文件,在该文件的process_item函数中,参数item就是封装好的对象;接下来就是将数据传给云服务器上的mongoDB数据库上,该数据库是非关系型数据库,每条数据的字段可以是不同的字段,适合用于存储爬虫数据;数据获得后,需要在微信小程序上获得数据,也就是需要接口(API),通过调用接口将云服务器上mongoDB数据库的数据获取到返回给微信小程序,微信小程序将返回的数据展示在微信小程序的页面。2.根据权利要求1所述的一种基于微信小程序和爬虫的数据展示方法,其特征在于,步骤1中包括,在pages文件夹中创建名为welcome文件夹,该模块为授权登录模块,在welcome文件夹中分别创建welcome.js、welcome.json、welcome.wxss和welcome.wxml四个文件,每个文件有着不同的功能;在welcome.wxml文件中书写‘授权登录’模块的页面代码,主要用到标签是<view>、<image>、<button>和<text>,<view>标签是创建一个页面区域,在这个区域中填充内容,类似Html中的<div>标签,<image>标签是用于展示图片,<button>标签用于创建‘授权登录’按钮,<text>标签是展示文字信息的;welcome.js文件是关于触发事件的代码,当点击‘授权登录’按钮时,会执行bindGetUserInfo函数,在该函数中记录登录者的信息,并将页面跳转到文与字模块,展示页面文与字模块之前,会执行posts模块的post.js文件中的onLoad方法,在这个函数中会从本地上加载要展示的数据记录,每条数据记录包括一张图片信息和文字信息,welcome.json主要是注册该模块的信息,设置了导航栏的背景颜色,welcome.wxss文件是对页面进行渲染的,使页面看起来整洁对齐,里面的代码就是Html中的css代码。3.根据权利要求1所述的一种基于微信小程序和爬虫的数据展示方法,其特征在于,步骤1中包括,在pages文件夹中创建名为movies的文件夹,即电影模块,这个模块是关于电影数据的展示;在movies文件夹中创建四个文件,分别是movies.js、movies.json、movies.wxss和movies.wxml,点击底部导航菜单中的‘电影’按钮,会进入电影模块的首页,展示出三种分类的电影,即正在上映的电影、即将上映的电影和豆瓣Top250电影,在首页中先展示每个类别的三部电影,可以点击每个类别后面的‘更多’按钮可以查看该类别的所有电影;通过点击电影的所在区...

【专利技术属性】
技术研发人员:韩飞方升凌万云凌青华瞿刘辰宋余庆周从华
申请(专利权)人:江苏大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1