1、在setting.py中定义相关变量

#定义mysql相关变量

MYSQL_HOST = '127.0.0.1'

MYSQL_USER = 'root'

MYSQL_PWD = '123456'

MYSQL_DB = 'maoyandb'

MYSQL_CHAR = 'utf8'

2、pipelines.py中新建管道类,并导入settings模块

def open_spider(self,spider):

# 爬虫开始执行1次,用于数据库连接

def process_item(self,item,spider):

# 用于处理抓取的item数据

def close_spider(self,spider):

# 爬虫结束时执行1次,用于断开数据库连接

# -*- coding: utf-8 -*-

# Define your item pipelines here

#

# Don't forget to add your pipeline to the ITEM_PIPELINES setting

# See: https://docs.scrapy.org/en/latest/topics/item-pipeline.html

class MaoyanPipeline(object):

def process_item(self, item, spider):

print(item['name'])

print(item['star'])

print(item['time'])

return item

import pymysql

from .settings import *

#定义一个MYSQL管道类

class MaoyanMysqlPipeline(object):

def open_spider(self,spider):

#爬虫程序启动时,只执行一次,一般用于建立数据库连接

self.db = pymysql.connect(

host = MYSQL_HOST,

user = MYSQL_USER,

password = MYSQL_PWD,

database = MYSQL_DB,

charset = MYSQL_CHAR

)

self.cursor = self.db.cursor()

print("我是open_spider函数")

def process_item(self, item, spider):

ins = 'insert into filmtab values(%s,%s,%s)'

film_list = [

item["name"],item["star"],item["time"]

]

self.cursor.execute(ins,film_list)

self.db.commit()

#必须写,此函数返回值会交给下一个管道处理item数据

return item

def close_spider(self,spider):

# 爬虫程序结束时,只执行一次,一般用于断开数据库连接

self.cursor.close()

self.db.close()

print("我是close_spider函数")

3、settings.py中添加此管道

ITEM_PIPELINES = {'':200}

image.png

# 注意 :process_item() 函数中一定要 return item

必须写,此函数返回值会交给下一个管道处理item数据

mongodb 持久化 mysql_scrapy数据持久化存储(MySQL、MongoDB)相关推荐

  1. mongoose换成mysql_如何将MongoDB数据库的数据迁移到MySQL数据库中

    FAQ v2.0终于上线了,断断续续忙了有2个多月.这个项目是我实践的第一个全栈的项目,从需求(后期有产品经理介入)到架构,再到设计(有征询设计师的意见).构建(前端.后台.数据库.服务器部署),也是 ...

  2. 数据持久化mysql_Nacos数据持久化到MySQL

    阅读文本大概需要3分钟. Nacos在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况.0.7版本增加了支持mysql数据源能力,具体的操作步骤:安装 ...

  3. python变量持久化_Python 数据持久化:JSON

    Python 数据持久化:JSON 编程派微信号:codingpy 淡蓝色字体可以直接点击查看 上周更新的<Think Python 2e>第14章讲述了几种数据持久化的方式,包括dbm. ...

  4. 持久化框架数据持久化框架(JPA)及其具体实现

    时间紧张,先记一笔,后续优化与完善. 对于数据的持久化问题,我们很容易想到,也很长用到持久化框架jpa. 持久化框架实现起来重要包括以下几个部分 1开发持久化bean Persistence.xml ...

  5. mysql 数据如何存储,MySQL如何存储数据

    I looked around google but didn't find any good answers. Does it store the data in one big file? Wha ...

  6. android数据持久化框架,Android:数据持久化、Environment、SharedPreferences、内部存储internalStorage...

    1.数据持久化-SDCard//数据持久化-SDCard findViewById(R.id.button1).setOnClickListener(new OnClickListener() { @ ...

  7. Android:数据持久化、Environment、SharedPreferences、内部存储internalStorage

    1.数据持久化-SDCard //数据持久化-SDCard findViewById(R.id.button1).setOnClickListener(new OnClickListener() {@ ...

  8. python实现mongodb数据导入到mysql

    在实际项目中需要把mongodb数据库的数据迁移到mysql数据库,由于该功能只使用一次,因此使用python实现,代码量比较小,特此奉上自己的代码,供大家参考,谢谢!如有问题,请在下方留言,我会及时 ...

  9. scrapy框架对接seleniumpipeline数据持久化

    文章目录 1.**scrapy对接selenium** 2.pipeline数据持久化 1.scrapy对接selenium 动态数据加载: 1.ajax: ①url接口存在规律, 可以自行构建url ...

最新文章

  1. 阿里深度序列匹配模型SDM:如何刻画大型推荐系统的用户行为?
  2. 剑指Offer——斐波那契数列
  3. 深度优先遍历和广度优先遍历_利用广度优先搜索解LeetCode第515题:在每个树行中找最大值...
  4. Class NPOI
  5. CodeForces - 577B Modulo Sum(dp+bitset优化)
  6. Datagridview绘制
  7. Linux学习之CentOS(三)----将Cent0S 7的网卡名称eno16777736改为eth0
  8. 用O(1)的时间复杂度删除单链表中的某个节点
  9. IOC控制反转(依赖注入思想)
  10. MyEclipse中解决“Save could not be completed”问题!
  11. Centos6.3 PHP编译安装JSON模块报错解决
  12. [经验]自定义ASP.NET服务器控件属性的状态不能保存的问题
  13. 阿里云块存储快照服务背后的技术原理
  14. TOGAF架构学习总结
  15. Office 2007卸载
  16. 防毒技巧 从硬盘及内存中检测潜存病毒
  17. 关于CS找实习的不完整经验
  18. centos 7.6 安装Netbackup 9.1
  19. SQLStudio下载
  20. C语言数字图像处理---1.2 彩色图像灰度化和二值化

热门文章

  1. mysql5.6 函数索引_聊聊MySQL中的索引
  2. 航空频率表 2020_航空波段+调频、中波、短波,这个美国TR608收音机值40美元吗?...
  3. C语言编码小球斜抛运动,利用C4droid绘制小球斜抛运动轨迹(考虑空气阻力)
  4. word doc怎么显示base64图片_win10系统word文档打印不出图片怎么办
  5. 地图漫游功能的具体体现_骏谷科技|数据中心三维可视化管理系统功能亮点
  6. android自定义控件中文乱码,Android笔记--自定义View之组合控件
  7. Linux的文本字段统计方法
  8. asyncdata连接php,如何使用Nuxt和asyncData观察路由更改
  9. 底部固定菜单_【悬浮菜单】安卓悬浮amp;手势助手
  10. oracle11g迁移到12cpdb,12c跨平台完成PDB的备份迁移