【Scrapy教程】01 初学者笔记(爬取伯乐在线文章实战)

前言

有一段时间没写技术博客了,前一阵自己立的flag在努力实现ING。。。
最近一直学习python届中爬虫最强大的框架scrapy,由此直接用实战来记录下学习的过程。
music:

Scrapy的概念

Scrapy 介绍

Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。
Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。
Scrap,是碎片的意思,这个Python的爬虫框架叫Scrapy。

Scrapy 原理图

图1是为了了解scrapy由哪几部分组成:
这里写图片描述
                   图1

图2是为了生动的举例子说明:

这里写图片描述
                     图2

核心围绕着Scrapy Engine 来作为所有组件的连接点,它就像美图的外卖小哥儿一样(蜜汁脸红…)!~

Scrapy的安装

python3

使用pip安装:
pip install Scrapy

Anaconda

使用 conda 安装Scrapy, 请执行:
conda install -c scrapinghub scrapy

初识Scrapy

初次学习Scrapy爬虫框架 — 抓取伯乐在线相关文章

项目环境:

  • python3
  • Anaconda(可选)
  • Scrapy库

另:Scrapy库官方文档—-

https://scrapy-chs.readthedocs.io/zh_CN/1.0/intro/tutorial.html

创建项目

第一步

创建一个Scrapy项目的文件夹–scrapy_learn_bole

进入目录中,执行命令:

扫描二维码关注公众号,回复: 1909061 查看本文章

cd scrapy_learn_bole

第二步

执行命令:

scrapy startproject ArticleSpider

创建目录如下:

scrapy_learn_bole/
    scrapy.cfg

    ArticleSpider/
        __init__.py

        items.py

        pipelines.py

        settings.py

        spiders/
            __init__.py
            ...

创建scrapy工程后,具体骨架有了,但是还需要我们使用基础模板生成一个py爬虫文件,请看第三步.

第三步

进入ArticleSpider目录,执行命令:

cd ArticleSpider

进入后,执行命令:

scrapy genspider jobbole blog.jobble.com

随后在spiders目录下生成了属于我们自己的py爬虫文件–jobbole.py


爬取网站

第一步

当写完自定义的爬虫文件后,启动scrapy的命令如下:

scrapy crawl jobbole

第二步

调试小技巧:

查看代码中的main.py,如果我们想打断点调试scrapy项目,从main.py入手debug即可.

原理:

# 利用scrapy类似cmd/shell,通过代码实现启动
from scrapy.cmdline import execute
import sys
import os
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
execute(["scrapy", "crawl", "jobbole"])

scrapy-shell 进行调试

第一步:打开cmd/shell 窗口

  • 确保你的python/Anaconda处于环境变量中
  • 若无环境变量,可以查找相关scrapy路径,在其路径下进行cmd窗口打开

第二步:执行要调试爬取网站的相关命令

scrapy shell http://blog.jobbole.com/all-posts/

如下图:

scrapy-shell

github项目地址:https://github.com/unlimitbladeworks/scrapy_learn_bole【不断学习更新中…】


以上,便是初次搭建好scrapy架子的步骤以及初识scrapy的过程!下一篇总结scrapy自带的两个爬取网站常用的选择器,一个是CSS选择器,一个是Xpath选择器!

猜你喜欢

转载自blog.csdn.net/s740556472/article/details/80889921