IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Scrapy框架之itemPipline的实战案例 -> 正文阅读

[Python知识库]Scrapy框架之itemPipline的实战案例

itemPipline 主要是处理数据,他里面提供了很多处理数据的类,比如数据验证,文件储存,图片储存,去重等。

下面进行实战案例演示: 这样是爬取当当网搜索的python图书数据

网址:python-当当网

1.先创建项目,进入项目

scrapy?startproject dangdang 
cd dangdang

目录结构:

2.创建爬虫文件,这时候spiders文件夹里,会多一个dang.py文件,这就是爬虫文件的第一个入口,

scrapy genspider dang search.dangdang.com

在这里编写数据解析函数

3.然后还要去ltems.py文件里,定义需要获取的数据

?4. 再去dang,py里封装,最后还要记得扔回items里,这样就等于丢回给了框架的引芯,然后去了piplines类中

?在setting中启用piplines类,

?这时就可以在piplines.py类中,对数据做一些处理,比如把评论的个数,用正则提取出数字,把价格也提取出数字,不要¥符,然后过滤数据的操作也都可以在这个文件中操作。

原本输出的是这样的

?piplines.py

?

?5.?然后在piplines.py文件中,增加数据库操作,把数据保存到数据库和把图片保存在本地

首先要在数据库里创建表和字段,注意下面那个不是单引号,是反单引号

CREATE TABLE `dangdang` (
    `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
    `title` VARCHAR(255) DEFAULT NULL,
    `author` VARCHAR(32) DEFAULT NULL,
    `price` DOUBLE(6,2) DEFAULT NULL,
    `publish` VARCHAR(32) DEFAULT NULL,
    `comment` INT(10) UNSIGNED DEFAULT NULL,
    `pic` VARCHAR(255) DEFAULT NULL,
    PRIMARY KEY (`id`)
)   ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8

?这时还要在setting.py里配置数据库信息,同时在? ?ITEM_PIPELINES里启用数据库

然后在piplines.py里操作数据库,建立几个方法,连接数据库,关闭数据库,写入数据库

???????

?这时就能看到数据库的结果

?接下来,再把图片保存到本地文件夹,重新创建一个类,但是要继承ImagePipline类

在setting里启用图片存储的类,同时在setting里配置存储的路径

?

在piplines.py里编写,图片储存代码

?然后再运行爬虫文件:scrapy crawl dang
如果本地没有保存到图片,可能是没有Pillow模块,因为在调用图片类时,会用到Pillow模块。

?=======================================================================

以上是采集一页的数据,下面介绍采集多页数据,这个是在spiders文件夹里的爬虫类文件dang.py里写

?同时这个是框架,默认是多并发的,为了防止反扒,要改setting文件,并发数量和间隔时间都要改下

?

以上就是爬取的当当网图书,下一次将介绍,用scrapy框架和redis数据库,分布式爬取。

如有想获得代码的同学,可以给我留言。看到就会回复

?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-06-26 16:52:04  更:2022-06-26 16:54:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 9:38:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码