兼职赚钱利器:scrapy爬虫框架

一、前言

Scrapy是一个很成熟的框架,此框架是为了爬取网站数据,提取结构性数据而编写的应用框架。 Scrapy通常应用在包括数据挖掘,信息处理或存储历史数据等一系列的项目中。像一些流媒体公司通常会用爬虫来收集电影数据(上座率、票价、好评率)、新闻点击率数据等。这些业务爬取的数据一般是公开的,当爬取的量存到一定数量级时,则可以进行市场分析、打包售卖信息等进行盈利。

Scrapy框架最初是为了页面抓取 (更确切来说, 网络抓取)而设计的, 也可以应用在获取API所返回的数据(例如Amazon Associates Web Services) 或者通用的网络爬虫。它用途广泛,可以用于数据挖掘、监测和自动化测试。

二、框架解析

1.Scrapy 使用了 Twisted 异步网络库来处理网络通讯。整体架构大致如下:

兼职赚钱利器:scrapy爬虫框架
2.Scrapy运行流程大概如下:
  • 首先,引擎从调度器中取出一个链接(URL)用于接下来的抓取
  • 引擎把URL封装成一个请求(Request)传给下载器,下载器把资源下载下来,并封装成应答包(Response)。
  • 然后,爬虫解析Response。
  • 若解析出实体(Item),则交给实体管道进行进一步的处理。
  • 若解析出的是链接(URL),则把URL交给Scheduler等待抓取

3.Scrapy主要包括了以下组件:

  • 爬虫引擎(Scrapy): 用来处理整个系统的数据流处理, 触发事务(框架核心)。
  • URL调度器(Scheduler): 用来接收引擎发过来的请求, 存入队列中, 并在引擎再次请求的时候返回。可以想像成一个URL(爬取网页的网址或者说是链接)的优先队列, 由它来决定下一个要抓取的网址是哪一个, 同时过滤掉重复的网址。
  • 网页下载器(Downloader): 用于下载网页内容, 并将网页内容返回给爬虫(Scrapy下载器是建立在twisted这个高效的异步模型上的)。
  • 爬虫(Spiders): 爬虫是主要干活的, 用于从特定的网页中提取、解析自己需要的信息, 即所谓的实体(Item)。用户也可以从中提取出链接,让Scrapy继续抓取下一个页面。
  • 项目管道(Pipeline): 负责处理爬虫从网页中抽取的实体,主要的功能是持久化实体、验证实体的有效性、清除不需要的信息。当页面被爬虫解析后,将被发送到项目管道,并经过几个特定的次序处理数据。
  • 下载器中间件(Downloader Middlewares): 位于Scrapy引擎和下载器之间的框架,主要是处理Scrapy引擎与下载器之间的请求及响应。
  • 爬虫中间件(Spider Middlewares): 介于Scrapy引擎和爬虫之间的框架,主要工作是处理蜘蛛的响应输入和请求输出,通常用来处理请求头封装、代理ip封装。
  • 调度中间件(Scheduler Middewares): 介于Scrapy引擎和调度之间的中间件,从Scrapy引擎发送到调度的请求和响应。

; 关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

兼职赚钱利器:scrapy爬虫框架

二、Python必备开发工具

兼职赚钱利器:scrapy爬虫框架

; 三、精品Python学习书籍

当我学到了一定的基础,有了自己的理解能力后,我会阅读一些前人整理的书籍或手写笔记,详细记录他们对一些技术要点的理解,这些都是比较独特的。你可以学到不同的想法。

[En]

When I have learned a certain foundation and have my own understanding ability, I will read some books sorted out by my predecessors or handwritten notes, which record in detail their understanding of some technical points, which are relatively unique. You can learn different ideas.

兼职赚钱利器:scrapy爬虫框架

; 四、Python视频合集

看零基础学习视频,看视频学习是最快最有效的方式,遵循老师在视频中的思路,从基础到深入,还是很容易上手。

[En]

Watch zero basic learning video, watching video learning is the fastest and most effective way, follow the ideas of the teacher in the video, from basic to in-depth, or very easy to get started.

兼职赚钱利器:scrapy爬虫框架
兼职赚钱利器:scrapy爬虫框架

; 五、实战案例

光学理论是没用的,要学拼,要动手实践,才能学以致用,这时可以做一些实际案例来学习。

[En]

Optical theory is useless, to learn to knock together, to hands-on practice, in order to apply what they have learned to practice, at this time can do some practical cases to learn.

兼职赚钱利器:scrapy爬虫框架

; 六、Python练习题

检查学习结果。

兼职赚钱利器:scrapy爬虫框架

; 七、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

兼职赚钱利器:scrapy爬虫框架
兼职赚钱利器:scrapy爬虫框架
; 这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【 保证100%免费

兼职赚钱利器:scrapy爬虫框架

Python资料、技术、课程、解答、咨询也可以直接点击下面名片, 添加官方客服斯琪 ↓

Original: https://blog.csdn.net/Yuki1127918/article/details/127747731
Author: Yuki程序员
Title: 兼职赚钱利器:scrapy爬虫框架



相关阅读

Title: 应用部署之Flask项目部署到linux环境

一、需求及环境说明

1、需求

开发人员使用python语言开发了一个基于flask框架的应用程序,需要部署到linux系统环境中。Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。应用程序本身就是一个app.py程序,有一些依赖软件,为了满足需求和避免与其他应用的冲突,最佳实践是使用python虚拟环境的方式部署。

2、环境说明

系统及应用软件版本说明:

  • 操作系统:CentOS release 6.10
  • python版本:3.8.5
  • click==7.1.2
  • Flask==1.1.2
  • Jinja2==2.11.2
  • PyMySQL==0.10.1

二、部署步骤

1、安装anaconda3

下载anaconda3
[wuhs@datanode02 ~]$ wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
给Anaconda3-2020.11-Linux-x86_64.sh文件添加执行权限
[wuhs@datanode02 ~]$ chmod u+x Anaconda3-2020.11-Linux-x86_64.sh
安装anaconda3
[wuhs@datanode02 ~]$ bash Anaconda3-2020.11-Linux-x86_64.sh

详细的安装步骤可以参考博文Linux之anaconda3安装及使用

2、根据requirements.yml创建虚拟环境

根据开发提供的requirements.yml文件创建python虚拟环境
[wuhs@test1 ~]$ conda env create -f requirements.yml -n flaskProject

done

To activate this environment, use

$ conda activate flaskProject

To deactivate an active environment, use

$ conda deactivate

3、激活虚拟环境

[wuhs@test1 ~]$ conda activate flaskProject
(flaskProject) [vanfon@datanode02 flaskProject]$

4、上传程序包

创建项目目录
[wuhs@test1 ~]$ mkdir flaskProject
(flaskProject) [vanfon@datanode02 flaskProject]$ ll
total 32
-rw-r–r– 1 wuhs wuhs 18075 Apr 7 13:35 app.py
-rw-r–r– 1 wuhs wuhs 704 Apr 7 13:35 DateUtil.py

5、配置pywsgi监听地址和端口

[wuhs@test1 flaskProject]$ vim app.py

兼职赚钱利器:scrapy爬虫框架

6、启动python程序

编写启动脚本
$ vim start.sh

!/bin/bash

\
source activate
conda activate flaskProject
sleep 1
nohup python -u app.py > out.log 2>&1 &
$ chmod u+x start.sh
$ sh start.sh

7、检查验证

(flaskProject) [wuhs@test1 flaskProject]$ netstat -tnpl |grep 5000
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 0.0.0.0:5000 0.0.0.0:* LISTEN 1794/python

兼职赚钱利器:scrapy爬虫框架

Original: https://blog.csdn.net/carefree2005/article/details/115481304
Author: 恒悦sunsite
Title: 应用部署之Flask项目部署到linux环境

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/354439/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

最近整理资源【免费获取】:   👉 程序员最新必读书单  | 👏 互联网各方向面试题下载 | ✌️计算机核心资源汇总