第70天: Python Scrapy 爬虫框架及搭建

Scrapy 框架实现爬虫的基本原理

Scrapy 就是封装好的框架,你可以专心编写爬虫的核心逻辑,无需自己编写与爬虫逻辑无关的代码,套用这个框架就可以实现以上功能——爬取到想要的数据。如果暂时理解不深也没关系,后边会结合实例具体介绍。

Python 爬虫基本流程

A 发起请求———B 解析内容———C 获取响应内容———D 保存数据

A 通过 HTTP 向目标站点发起请求,即发送一个 Request ,请求可以包含额外的 headers 等信息,等待服务器响应。

B 得到的内容可能是 HTML ,可以用正则表达式、网页解析库进行解析。可能是 Json ,可以直接转为 Json 对象解析,可能是二进制数据,可以做保存或者进一步的处理。

C 如果服务器能正常响应,会得到一个 Response , Response 的内容便是所要获取的页面内容,类型可能有 HTML , Json 字符串,二进制数据(如图片视频)等类型。

D 保存形式多样,可以存为文本,也可以保存至数据库,或者保存特定格式的文件。

搭建自己本机环境如下:Windows7 64bit———Python3.7———Pycharm64

安装 Python———安装 Pycharm———安装 Scrapy———新建爬虫项目

简单解释:将 Python 比作 Java ,那么 Pycharm 就相当于 eclipse , Pycharm 就是 Python 语言的运行环境 IDE 工具。

安装 Python

在 Python 的官网 www.python.org 中找到最新版本的 Python 安装包,点击进行下载,请注意,当你的电脑是32位的机器,请选择32位的安装包,如果是64位的,请选择64位的安装包;

我自己机器是 win7 64bit 所以我下载的是 python-3.7.4.amd64.exe,其中的 add python 3.7 to PATH 一定要勾选。

另外安装 python 路径不要有中文和空格,避免以后麻烦。后边就点击下一步即可。

如果忘记勾选则需要手动添加环境变量:(需要添加两个:c:\python3.7.0;c:\python3.7.0\Scripts)

右键计算机——点击属性——点击高级系统设置——高级——环境变量——用户变量——PATH  添加自己安装 python 的路径。

安装 Pycharm

本篇对于环境的搭建只是起到抛砖引玉的作用,建议大家以下边做参考。

https://www.runoob.com/w3cnote/pycharm-windows-install.html

安装 Scrapy

由于安装 Scrapy 不是本系列重点,所以仅展示 Windows 系统上安装 Scrapy 的步骤。注意:一定按顺序安装。Cmd 进入 dos 窗口:

C:\Users\Administrator>pythonPython 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license" for more information.C:\Users\Administrator>python -m pip -Vpip 19.0.3 from c:\python3.7.0\lib\site-packages\pip (python 3.7) 1.python -m pip install --upgrade pip2.python -m pip install Twisted-18.9.0-cp37-cp37m-win_amd64.whl3.python -m pip install pypiwin324.python -m pip install scrapy5.python -m pip install requests

如果中途安装遇到问题请及时 Google 查阅资料,查阅就是积累的过程。

Scrapy 创建新项目:

Pycharm 中用 alt+F12 切换到命令行,在命令行输入:

(venv2) E:\>scrapy startproject peilv

就会生成 Scrapy 项目,项目名称是 peilv ,结构如下:主要改写2个文件:“items、settings”,新增2个文件:“爬虫主程序”、itemcsvexporter。

peilvscrapy.cfg #创建项目时自动生成,项目的配置文件peilv/ __init__.py #创建项目时自动生成,无需任何改动 items.py #创建项目时自动生成,定义爬取的字段 pipelines.py #创建项目时自动生成,如存入文件,无需任何改动 settings.py #创建项目时自动生成,将爬取字段按顺序输出 middlewares.py #创建项目时自动生成,无需任何改动 spiders/ __init__.py #创建项目时自动生成,无需任何改动itemcsvexporter.py #需自己编写,代码固定 爬虫主程序.py #需自己编写,爬虫的主程序

items.py:

# -*- coding: utf-8 -*-import scrapyclass PeilvItem(scrapy.Item): # define the fields for your item here like: cc = scrapy.Field()#changci li = scrapy.Field()#libo b5 = scrapy.Field()#bet365

settings.py:

# -*- coding: utf-8 -*-FEED_EXPORT_ENCODING = "gb18030" #解决导出的 Excel 文件中文乱码问题...FEED_EXPORTERS = { 'csv': 'peilv.spiders.itemcsvexporter.itemcsvexporter',} FIELDS_TO_EXPORT = [ 'cc',#比赛场次 'li',#立博的赔率 'b5',#bet365的赔率 ]...

itemcsvexporter.py:

from scrapy.conf import settingsfrom scrapy.exporters import CsvItemExporter#指定输出到 csv 文件中字段的顺序,结合 setting.pyclass itemcsvexporter(CsvItemExporter): def __init__(self, *args, **kwargs):...

爬虫主程序.py:(下一篇详细介绍)

# -*- coding: utf-8 -*-#项目源码地址:github.com/acredjb/FBP
# -*- coding: utf-8 -*-#项目源码地址:github.com/acredjb/FBP#作者:acredjb...
(0)

相关推荐

  • 【实战视频】使用scrapy写爬虫-爬知乎live

    我其实很喜欢造轮子,一直没用过爬虫框架写爬虫.虽然知道爬虫很简单,scrapy框架也不难,但是在舒适区呆久了,真的不想学新东西,用新知识写爬虫. 今天我不止用新框架scrapy写爬虫,而且我还要使用s ...

  • Python爬虫:Scrapy从脚本运行爬虫的5种方式!

    Python爬虫:Scrapy从脚本运行爬虫的5种方式! Python编程学习圈 1周前 关注+星标,每天学习Python新技能 测试环境 一.命令行运行爬虫 1.编写爬虫文件 baidu.py 图片 ...

  • 初识scrapy爬虫框架

    框架是为了解决特定的业务场景而开发的一套高质量代码,通过框架避免了重复造轮子的低效模式,可以更加专注于具体业务相关的代码.在python中,scrapy就是一个主流的爬虫框架,可以通过如下方式进行安装 ...

  • 干货!一文教会你 Scrapy 爬虫框架的基本使用

    原创 投稿君 Python数据之道 收录于话题 #读者投稿 28 #Python干货分享 2 #Python 11 #项目实战 20 出品:Python数据之道 (ID:PyDataLab) 作者:叶 ...

  • Python爬虫框架有哪些?这几种最常见!

    Python之所以被称为"爬虫"的首选语言,主要原因是因为Python拥有很多爬虫框架,不仅功能齐全.优点多,而且可以帮助程序员以更少的代码实现更多的功能,让工作变得更加轻松便利. ...

  • 7款好用的Python爬虫框架!

    Python是网络爬虫的首选语言,在爬虫领域有着独特的优势和用途,而且Python还拥有很多爬虫框架,那么你知道哪个Python爬虫框架最高效吗?这几个你一定要知道. 1.Scrapy Scrapy是 ...

  • python接口自动化28-requests-html爬虫框架

    前言 requests库的好,只有用过的人才知道,最近这个库的作者又出了一个好用的爬虫框架requests-html.之前解析html页面用过了lxml和bs4, requests-html集成了一些 ...

  • 爬虫框架Scrapy(1)Scrapy基础1

    一. Scrapy框架简介 Scrapy是一个使用Python语言(基于Twisted框架)编写的开源网络爬虫框架,目前由 Scrapinghub Ltd 维护.Scrapy 简单易用.灵活易拓展.开 ...

  • Python有哪些爬虫框架?八大框架推荐!

    虽然能够编写网络爬虫的编程语言有很多,但是Python绝对是主流的编程语言,因其自带第三方框架,让开发爬虫变得更加容易.那么你知道Python有哪些爬虫框架吗?小编收集了一些较为高效的Python爬虫 ...

  • 学透这10个Python爬虫框架,轻松获取一切数据

    就像超市里有卖半成品的菜一样,Python爬虫工具也有半成品,就是Python爬虫框架.就是把一些常见的爬虫功能的代码先写好,然后留下一些借口.当我们在做不同的爬虫项目时,根据项目的实际情况,稍微变动 ...

  • 介绍一款能取代 Scrapy 的爬虫框架 - feapder

    介绍一款能取代 Scrapy 的爬虫框架 - feapder