scrapy框架

概念

scrapy是一个Python编写的开源网络爬虫框架。它是一个被设计用于爬取网络数据、提取结构性数据的框架。

Scrapy使用了Twisted'twistid'异步网络框架,可以加快我们的下载速度

作用

少量的代码,就能快速的抓取

流程描述如下:

1.爬虫中起始的url构成request对象-->爬虫中间件-->引擎-->调度器

2.调度器把request-->引擎-->下载中间件-->下载器

3.下载器发送请求,获取response响应---->下载中间件---->引擎---->爬虫中间件---->爬虫

4.爬虫提取url地址,组装成request对象---->爬虫中间件---->引擎---->调度器,重复步骤2

5.爬虫提取数据---->引擎---->管道处理和保存数据

各个模块只和引擎做交互

python 复制代码
class Item(object):
    def __init__(self, url, headers):
        self.url  = url
        self.headers = headers

item = Item('https://www.baidu.com', 'headers')
print(item)
print(item.url)
print(item.headers)
    

将url做成一个对象传给引擎

scrapy的三个内置对象

request请求对象:由url method post_data headers等构成

response响应对象:由url body status headerss等构成

item数据对象:本质是个字典

scrapy中每个模块的具体作用

引擎 数据和信号的传递

调度器 任务队列

下载器

爬虫 起始的url 解析

管道 保存数据

中间件 定制化操作

scrapy的入门使用

安装 pip3 install scrapy

相关推荐
q567315234 天前
Curl 报 CONNECT tunnel failed, response 6xx:排查思路全解
数据库·网络协议·scrapy·http·中间件·http代理
Data_Journal6 天前
Playwright vs Selenium:哪个是最佳无头浏览器
开发语言·python·scrapy·microsoft·编辑器
Data_Journal6 天前
如何使用 Python 抓取 Google Flights:分步指南
大数据·开发语言·数据库·python·scrapy
Data_Journal7 天前
用于网页抓取的 Node-unblocker
大数据·开发语言·数据库·python·scrapy
Data_Journal10 天前
使用 Scrapy 和 Splash 抓取无限滚动内容
scrapy
Minner-Scrapy10 天前
Scrapy 2.17 源码解析:Scheduler 调度器与磁盘/内存双队列
java·爬虫·python·scrapy·网络爬虫·twisted
tang7778910 天前
Scrapy框架动态IP自动轮换集成配置教程
爬虫·tcp/ip·scrapy·架构·爬虫代理·动态ip
鬼手点金17 天前
Scrapy 网络爬虫框架
爬虫·python·scrapy·ajax·html·json·requsts
鬼手点金18 天前
Scrapy + Playwright 完整示例(JS 动态渲染网页)
开发语言·javascript·爬虫·python·scrapy·html·json
Data_Journal22 天前
如何使用 Java 和 Jsoup 解析 HTML
大数据·开发语言·数据库·python·scrapy