Scrapy基础 第一节:Scrapy介绍和安装配置

Scrapy第一季:Scrapy框架基础介绍

前置知识:

  • 掌握Python的基础知识
  • 对爬虫基础有一定了解

说明: 运行环境

Win10,Python3 64位

目录:

第一节:Scrapy介绍和环境安装

1 爬虫是什么

百度百科上的定义

网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。

大型的网络爬虫被广泛的应用于搜索引擎,数据挖掘等领域,个人或企业利用爬虫搜集对自身有价值的数据,在大数据时代正在逐渐成为一种常态。

一个网络爬虫的基本流程可以总结为以下循环:
在这里插入图片描述

2 Scrapy的价值

网络爬虫是我们挖掘数据价值的重要工具,而一款好的爬虫框架,是一个强力的挖掘机,能大幅提高我们挖掘数据资源的效率。

相信接触过python的同学都知道,requests+selenium从功能上来说可以解决90%的爬虫需求,也是各大教程的主打工具,我也是这样入门爬虫的,那为什么我们还要用scrapy,是为了剩余10%需求么?当然不是!

功能特性往往只是产品的一方面,一个真正能稳定高效运行的商业化产品,需要考虑各个方面的内容。比如,设计爬虫程序时,还要考虑防止重复爬取相同页面(URL去重)、网页搜索策略(深度优先或广度优先等)、爬虫访问边界限定等一系列问题。

从头开发一个爬虫程序是一项烦琐的工作,为了避免因制造轮子而消耗大量时间,在实际应用中我们可以选择使用一些优秀的爬虫框架,使用框架可以降低开发成本,提高程序质量,让我们能够专注于业务逻辑(爬取有价值的数据)。

Scrapy就是目前爬虫框架中最流行,也最完善的一个,它提供了一套完整的解决方案,能帮助我们将作品产品化,而是不是一直停留在Demo阶段。

3 安装scrapy

首先需要有Python环境,这个就不用多说,自己安装就行了

https://www.python.org/

(1) 安装wheel

pip install wheel

(2) 安装XML解析支持

pip install lxml

(3) 安装对象接口库

pip install zope.interface

(4) 安装pyOpenSSL

pip install pyOpenSSL

(5) 安装twisted
不能通过pip安装,只能通过whl安装

https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted

根据自己的python和操作系统下载对应的版本,比如我的

在这里插入图片描述

下载后进入.whl 文件所在目录,本地安装

pip install “Twisted‑18.9.0‑cp36‑cp36m‑win_amd64.whl”

(6) 安装pywin32库

https://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32
这个和上面一样下载对应版本安装就行了

pip install “pywin32‑224‑cp36‑cp36m‑win_amd64.whl”

PS: 网上也有人打包好的安装包,搜索下载安装也行。

pywin32-221.win-amd64-py3.6.exe

(7) 安装scrapy
准备工作都好了就可以直接安装了

pip install scrapy

大概几分钟时间,如果执行没有报错那就安装好了,如果中途还缺什么模块就pip安装

(8)检测版本
最后再检测一下版本,确认是否安装成功

scrapy -v

输出结果

Scrapy 1.5.1 - no active project

!安装成功

4 Scrapy资源

官方网站

https://scrapy.org/

中文教程

https://scrapy-chs.readthedocs.io/zh_CN/latest/index.html

源码地址

https://github.com/scrapy/scrapy

中文社区

http://www.scrapyd.cn/

5 扩展知识

Python爬虫框架当然不这一个,其他一些框架也各有特点,只是没有Scrapy这么通用和流行,这里做个简单介绍,有兴趣可以自己搜索。

  • PySpider
    pyspider 是一个用python实现的功能强大的网络爬虫系统,能在浏览器界面上进行脚本的编写,功能的调度和爬取结果的实时查看,后端使用常用的数据库进行爬取结果的存储,还能定时设置任务与任务优先级等。

项目地址:https://github.com/binux/pyspider

  • Crawley
    Crawley可以高速爬取对应网站的内容,支持关系和非关系数据库,数据可以导出为JSON、XML等。

项目地址:http://project.crawley-cloud.com/

  • Portia
    Portia是一个开源可视化爬虫工具,可让您在不需要任何编程知识的情况下爬取网站!简单地注释您感兴趣的页面,Portia将创建一个蜘蛛来从类似的页面提取数据。

项目地址:https://github.com/scrapinghub/portia

  • Newspaper
    Newspaper可以用来提取新闻、文章和内容分析。使用多线程,支持10多种语言等。

项目地址:https://github.com/codelucas/newspaper

  • Grab
    Grab是一个用于构建Web刮板的Python框架。借助Grab,您可以构建各种复杂的网页抓取工具,从简单的5行脚本到处理数百万个网页的复杂异步网站抓取工具。Grab提供一个API用于执行网络请求和处理接收到的内容,例如与HTML文档的DOM树进行交互。

项目地址:http://docs.grablib.org/en/latest/#grab-spider-user-manual

  • Cola
    Cola是一个分布式的爬虫框架,对于用户来说,只需编写几个特定的函数,而无需关注分布式运行的细节。任务会自动分配到多台机器上,整个过程对用户是透明的。 *

项目地址:https://github.com/chineking/cola

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值