前言
有一段时间没写技术博客了,前一阵自己立的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
进入目录中,执行命令:
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/
如下图:
github项目地址:https://github.com/unlimitbladeworks/scrapy_learn_bole【不断学习更新中…】
以上,便是初次搭建好scrapy架子的步骤以及初识scrapy的过程!下一篇总结scrapy自带的两个爬取网站常用的选择器,一个是CSS选择器,一个是Xpath选择器!