欢迎光临散文网 会员登陆 & 注册

【Scrapy】初步认识爬虫

2023-01-26 08:03 作者:阿提艾斯  | 我要投稿

1、简介

Scrapy是一套基于Twisted的异步处理应用程序框架,用于抓取网站提取结构化数据,这些数据可用于广泛的应用程序,如数据挖掘、信息处理或历史存档。


2、制作scrapy爬虫一共需要4步

1)新建项目: scrapy startproject xxx

2)  明确目标: items.py, 明确需要抓取的目标

3)制作爬虫: spiders/xxxspider.py,制作爬虫开始爬取网页

4)存储内容: pipelines.py, 设计管道存储爬取内容。

爬虫图解


3、创建scrapy项目

scrapy startproject xxxxxx 

4、观察项目目录结构

爬虫目录结构

scrapy.cfg: 爬虫配置文件

scrapy.cfg

scrapy_test/spiders/__init__.py:  导包文件。之后爬虫的主要文件都在scrapy_test/spiders目录下。

scrapy_test/__init__.py: 导包文件

scrapy_test/items.py

items.py

scrapy_test/middlewares.py: 中间件

scrapy_test/pipelines.py: 管道文件,用来处理item数据。比如将item写入到文件或数据库中。

scrapy_test/settings.py: 爬虫配置文件,爬虫会根据该文件里的配置遵守一些约定去爬取。如下图所示:当发起请求后,请求会经过中间件ScrapyTestDownloaderMiddleware,后面的543是优先级,数字越小,优先级越高,取值范围:0-1000。当有多个中间件时,就会根据优先级去执行各个插件。

settings.py

5、生成一个爬虫脚本

可以生成一个爬虫脚本,也可以自己创建一个爬虫脚本,重要的是爬虫脚本内容。

命令生成:

在spiders目录下执行:

scrapy genspider test1 "http://www.baidu.com"

表示生成爬虫test1,爬取的范围是http://www.baidu.com。

爬虫生成过程

生成的爬虫的内容:

爬虫文件内容

内容解释:

name = 'test1': 该爬虫的名称为test1。

allowed_domains = ['www.baidu.om']: 允许你爬取的域名范围。

start_urls = ['http://www.baidu.com']: 爬虫开启请求的第一个url地址。

parse(): 当下载器处理完请求之后,都会经过这个parse()函数。

爬虫名称可以随意修改,爬虫脚本名称可以随意修改,之后运行爬虫的时候,指定准确爬虫名即可。


6、运行爬虫

运行爬虫

scrapy crawl test1

开启爬虫后的部分信息

检查爬虫test1的状态

scrapy check test1

检查爬虫状态

其他命令可以参考:

爬虫其他命令

参考文档:

Scrapy 教程 — Scrapy 2.5.0 文档 (osgeo.cn)

【Scrapy】初步认识爬虫的评论 (共 条)

分享到微博请遵守国家法律