小程序开发(1): 使用scrapy采集数据

优采云 发布时间: 2020-08-06 15:21

  农历新年后,我一直在业余时间独立开发一个小程序. 主要数据是8000多个视频和10000多个文章,并且每天都会自动更新数据.

  我将整理整个开发过程中遇到的问题和一些细节. 因为内容会更多,所以我将其分为三到四篇文章. 本文是该系列的第一篇文章,内容为python reptile.

  本系列文章将大致介绍内容:

  数据准备(python scrapy框架)

  接口准备(nodejs的hapijs框架)

  小型程序开发(小型程序随附的mpvue和组件等)

  在线部署(小程序安全性域名以及其他配置和爬网程序/界面在线部署和维护)

  数据采集

  有很多方法可以获取数据. 这次我们选择了采集器方法. 当然,您可以使用不同的语言和不同的方式编写爬虫. 我以前写过很多爬虫,这次我们选择了python的scrapy库. 关于scrapy,百度百科解释如下:

  Scrapy是Python开发的一种快速的高级屏幕抓取和Web抓取框架,用于抓取网站并从页面提取结构化数据. Scrapy用途广泛,可用于数据挖掘,监视和自动化测试.

  学习scrapy的最好方法是先阅读文档(Scrapy 1.6文档),然后根据文档中的示例进行编写,您将逐渐熟悉它. 有几个重要的概念必须理解:

  物品

  

官方对items的定义是“The main goal in scraping is to extract structured data from unstructured sources, typically, web pages.”,个人理解为数据结构,也就是要爬取数据的字段,最好能和数据库字段对应,便于入库。

  蜘蛛

  “Spiders are classes which define how a certain site (or a group of sites) will be scraped, including how to perform the crawl (i.e. follow links) and how to extract structured data from their pages (i.e. scraping items). ”,也就是爬虫比较核心的内容,定义爬虫的方式,一些策略,以及获取那些字段等等。

  管道

  “蜘蛛抓取了一个项目之后,将其发送到项目管道,该管道通过依次执行的几个组件对其进行处理. ”,管道是我们的采集器在获取数据后将执行的处理操作,例如可以在此处进行操作. 如写入文件或链接到数据库,然后保存到数据库等.

  选择器

  “When you’re scraping web pages, the most common task you need to perform is to extract data from the HTML source. ”,这部分就是如何解析html,从爬取到的html文件中解析出所需的数据,可以使用BeautifulSoup、lxml、Xpath、CSS等方法。

  上面已经解释了几个重要的部分.

  准备环境(python3 / scrapy等),我们可以编写一个爬虫项目.

  抓取的内容来自此网站.

  创建项目

  scrapy startproject jqhtml

  修改项目

  添加采集器

  爬行器爬行器

  编写管道以修改配置文件

  ​这样我们就顺利地完成了爬虫项目的编写。运行下,发现数据全部存到了数据库中。

  部署scrapy爬虫项目

  对于scrapy crawler项目的部署,我们可以使用官方scrapyd,并且使用方法相对简单. 在服务器上安装scrapyd并启动它,然后在本地项目中配置部署路径,在本地安装scrapy-client并使用命令deploy可以部署到服务器.

  Scrapyd提供了一些api界面来查看项目采集器的状态,并执行或停止采集器.

  因此,我们可以轻松调整这些界面来管理抓取工具任务.

  注意:

  如何将scrapyd部署到服务器上如何将scrapyd设置为系统后台服务和系统启动项

  下一个

  在下一篇文章中,我们将介绍并使用非常流行的nodejs背景api库-hapijs. 完成applet所需的所有接口的开发,并使用定时任务执行采集器脚本.

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线