0

0

scrapy爬虫框架的介绍

PHP中文网

PHP中文网

发布时间:2017-06-20 17:19:39

|

2556人浏览过

|

来源于php中文网

原创

介绍一下scrapy 爬虫框架

安装方法 pip install scrapy 就可以实现安装了。我自己用anaconda 命令为conda install scrapy。

 

 

 

1 Engine从Spider处获得爬取请求(Request)
2Engine将爬取请求转发给Scheduler,用于调度

3 Engine从Scheduler处获得下一个要爬取的请求
4 Engine将爬取请求通过中间件发送给Downloader
5 爬取网页后,Downloader形成响应(Response)通过中间件发给Engine
6 Engine将收到的响应通过中间件发送给Spider处理Engine将爬取请求转发给Scheduler,用于调度

7 Spider处理响应后产生爬取项(scraped Item)
和新的爬取请求(Requests)给Engine
8 Engine将爬取项发送给Item Pipeline(框架出口)
9 Engine将爬取请求发送给Scheduler

Engine控制各模块数据流,不间断从Scheduler处
获得爬取请求,直至请求为空
框架入口:Spider的初始爬取请求
框架出口:Item Pipeline

 

 

 

 

 

 

Engine                                                                              
(1) 控制所有模块之间的数据流
(2) 根据条件触发事件
不需要用户修改

Downloader
根据请求下载网页
不需要用户修改

Scheduler
对所有爬取请求进行调度管理
不需要用户修改

Downloader Middleware
目的:实施Engine、Scheduler和Downloader
之间进行用户可配置的控制
功能:修改、丢弃、新增请求或响应
用户可以编写配置代码

Spider
(1) 解析Downloader返回的响应(Response)
(2) 产生爬取项(scraped item)
(3) 产生额外的爬取请求(Request)
需要用户编写配置代码

Item Pipelines
(1) 以流水线方式处理Spider产生的爬取项
(2) 由一组操作顺序组成,类似流水线,每个操
作是一个Item Pipeline类型
(3) 可能操作包括:清理、检验和查重爬取项中
的HTML数据、将数据存储到数据库
需要用户编写配置代码

了解了基本概念之后我们开始写第一个scrapy爬虫吧。

首先要新建一个爬虫项目scrapy startproject xxx(项目名)

这个爬虫就简单的爬取一个小说网站的书名与作者吧。

我们现在创建了爬虫项目book现在来编辑他的配置

双轨制直销会员管理结算系统
双轨制直销会员管理结算系统

双轨制直销会员管理结算系统采用ASP.NET+Access编写的双轨制管理系统软件,需要.Net2.0框架及IIS运行环境。前台会员登录地址:/vip/login.aspx 后台会员登录地址:/admin/login.aspx前台会员用户名:admin 一级密码/二级密码:www.zhixiao55.com 后台用户名密码跟前台一样双轨制直销软件功能介绍1、 会员管理清晰的双轨制会员拓扑图,可以非

下载

                                        二级book目录下这些就是配置文件上面已经介绍过了,在修改这些之前

                                        我们现在一级book目录下创建一个start.py 来用于scrapy爬虫能在IDE里

                                         面运行。文件里面写下如下代码。

                                       

                                         前两个参数是固定的,第三个参数是你spider的名字

        

 

接下来我们就在items里面填写字段:

然后在spider中创建爬虫主程序book.py

我们要爬取的网站为

通过点击网站不同种类小说会发现网站地址是+小说种类拼音.html

通过这个我们来写读取网页的内容

得到这个之后我们通过parse 函数来解析所获取的网页并提取所需信息。

网页分析提取数据是通过BeautifulSoup库来的,这里就略了。自己分析2333~

程序写好我们要存储所爬取的信息就要编辑Pipelines.py 了

这里提供两个保存方式

1保存为txt文本

2 存入数据库

要让这个成功运行我们还需要在setting.py中配置

ITEM_PIPELINES = {    'book.pipelines.xxx': 300,}
xxx为存储方法的类名,想用什么方法存储就改成那个名字就好运行结果没什么看头就略了
第一个爬虫框架就这样啦期末忙没时间继续完善这个爬虫之后有时间将这个爬虫完善成把小说内容等一起爬下来的程序再来分享一波。
附一个book的完整代码:
import scrapyfrom bs4 import BeautifulSoupfrom book.items import BookItemclass Bookspider(scrapy.Spider):
    name = 'book'   #名字
    allowed_domains = ['book.km.com']  #包含了spider允许爬取的域名(domain)列表(list)
    zurl=''def start_requests(self):
        D=['jushi','xuanhuan'] #数组里面包含了小说种类这里列举两个有需要可以自己添加for i in D: #通过循环遍历
            url=self.zurl+i+'.html'yield scrapy.Request(url, callback=self.parse)

    def parse(self, response):
        imf=BeautifulSoup(response.text,'lxml')
        b=imf.find_all('dl',class_='info')for i in b:
            bookname=i.a.stringauthor = i.dd.span.stringitem = BookItem()
            item['name'] = bookname
            item['author'] = authoryield item


热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

2

2026.01.31

go语言 math包
go语言 math包

本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

go语言输入函数
go语言输入函数

本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

golang 循环遍历
golang 循环遍历

本专题整合了golang循环遍历相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.31

Golang人工智能合集
Golang人工智能合集

本专题整合了Golang人工智能相关内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

76

2026.01.31

高干文在线阅读网站大全
高干文在线阅读网站大全

汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

73

2026.01.31

无需付费的漫画app大全
无需付费的漫画app大全

想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

67

2026.01.31

漫画免费在线观看地址大全
漫画免费在线观看地址大全

想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

19

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.4万人学习

Django 教程
Django 教程

共28课时 | 3.7万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号