小程序开发(一):使用scrapy爬虫采集数据
过完年回来,业余时间一直在独立开发一个小程序。主要数据是8000+个视频和10000+篇文章,并且数据会每天自动更新。
我会整理下整个开发过程中遇到的问题和一些细节问题,因为内容会比较多,我会分成三到四篇文章来进行,本文是该系列的第一篇文章,内容偏python爬虫。
本系列文章大致会介绍一下内容:
数据准备(python的scrapy框架)接口准备(nodejs的hapijs框架)小程序开发(mpvue以及小程序自带的组件等)部署上线(小程序安全域名等配置以及爬虫/接口等线上部署维护)
数据获取
数据获取的方法有很多种,这次我们选择了爬虫的方式,当然写一个爬虫也可以用不同的语言,不同的方式。之前写过很多爬虫,这次我们选择了python的scrapy库。关于scrapy,百度百科解释如下:
Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。
学习scrapy,最好的方式就是先阅读一遍文档(Scrapy 1.6 documentation),然后照着文档里的例子写一写,慢慢就熟悉了。里面有几个很重要的概念是必须要理解的:
Items
xxxx 项目的官方定义是“抓取的主要目标是从非结构化源(通常是网页)中提取结构化数据。”,个人理解数据结构,即攀爬数据的字段,最好是对应于数据库字段易于访问。蜘蛛
“蜘蛛是定义如何抓取某个站点(或一组站点)的类,包括如何执行爬行(即跟随链接)以及如何从其页面中提取结构化数据(即抓取项目)。”,它是爬虫的核心内容,定义爬虫的方式,一些策略以及这些领域的获取。管道
“一个项目被一个蜘蛛抓取后,它被发送到Item Pipeline,它通过顺序执行的几个组件处理它。”,管道是我们在爬虫获取数据后必须要做的处理操作,例如写入文件,或链接数据应用程序开发
可以在此处操作库,并保存到数据库等。
选择
“当你在抓取网页时,你需要执行的最常见的任务是从HTML源中提取数据。”,这部分是如何解析html,从已爬行的html文件中解析所需的数据,你可以使用BeautifulSoup,lxml,Xpath,CSS等上面已经解释了几个重要部分。
准备环境(python3/scrapy等),我们可以编写一个爬虫项目。
抓取的内容来自https://www.jqhtml.com,即网站。
创建项目
Scrapy startproject jqhtml
修改items
添加爬虫
爬行动物爬行动物
编写pipeline
修改配置文件这样我们就顺利地完成了爬虫项目的编写。运行下,发现数据全部存到了数据库中。
部署scrapy搜寻器项目
Scrapy爬虫项目部署,我们使用官方报废,方法也比较简单,在服务器上安装scrapyd和汇海,然后在本地项目中配置部署路径,在本地安装scrapy-client,使用命令deploy可以部署到服务器。
Scrapyd提供了一些api接口来查看项目抓取工具并执行或停止抓取。
这使我们可以轻松调整这些界面来管理我们的爬虫任务。
注意:
如何将scrapyd部署到服务器如何将scrapyd设置为系统后台服务和系统汇海项NEXT
接下来,我们将介绍并使用一个非常热门的nodejs后台api库 - hapijs。完成小程序所需的所有接口的开发,并使用定时任务执行爬虫脚本。
“沈阳软件公司”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与
我们联系删除或处理,客服QQ:55506560,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同
其观点或证实其内容的真实性。
热门文章
使用“扫一扫”即可将网页分享至朋友圈。