mongodb 持久化 mysql_scrapy数据持久化存储(MySQL、MongoDB)
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)相关推荐
- mongoose换成mysql_如何将MongoDB数据库的数据迁移到MySQL数据库中
FAQ v2.0终于上线了,断断续续忙了有2个多月.这个项目是我实践的第一个全栈的项目,从需求(后期有产品经理介入)到架构,再到设计(有征询设计师的意见).构建(前端.后台.数据库.服务器部署),也是 ...
- 数据持久化mysql_Nacos数据持久化到MySQL
阅读文本大概需要3分钟. Nacos在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况.0.7版本增加了支持mysql数据源能力,具体的操作步骤:安装 ...
- python变量持久化_Python 数据持久化:JSON
Python 数据持久化:JSON 编程派微信号:codingpy 淡蓝色字体可以直接点击查看 上周更新的<Think Python 2e>第14章讲述了几种数据持久化的方式,包括dbm. ...
- 持久化框架数据持久化框架(JPA)及其具体实现
时间紧张,先记一笔,后续优化与完善. 对于数据的持久化问题,我们很容易想到,也很长用到持久化框架jpa. 持久化框架实现起来重要包括以下几个部分 1开发持久化bean Persistence.xml ...
- mysql 数据如何存储,MySQL如何存储数据
I looked around google but didn't find any good answers. Does it store the data in one big file? Wha ...
- android数据持久化框架,Android:数据持久化、Environment、SharedPreferences、内部存储internalStorage...
1.数据持久化-SDCard//数据持久化-SDCard findViewById(R.id.button1).setOnClickListener(new OnClickListener() { @ ...
- Android:数据持久化、Environment、SharedPreferences、内部存储internalStorage
1.数据持久化-SDCard //数据持久化-SDCard findViewById(R.id.button1).setOnClickListener(new OnClickListener() {@ ...
- python实现mongodb数据导入到mysql
在实际项目中需要把mongodb数据库的数据迁移到mysql数据库,由于该功能只使用一次,因此使用python实现,代码量比较小,特此奉上自己的代码,供大家参考,谢谢!如有问题,请在下方留言,我会及时 ...
- scrapy框架对接seleniumpipeline数据持久化
文章目录 1.**scrapy对接selenium** 2.pipeline数据持久化 1.scrapy对接selenium 动态数据加载: 1.ajax: ①url接口存在规律, 可以自行构建url ...
最新文章
- 阿里深度序列匹配模型SDM:如何刻画大型推荐系统的用户行为?
- 剑指Offer——斐波那契数列
- 深度优先遍历和广度优先遍历_利用广度优先搜索解LeetCode第515题:在每个树行中找最大值...
- Class NPOI
- CodeForces - 577B Modulo Sum(dp+bitset优化)
- Datagridview绘制
- Linux学习之CentOS(三)----将Cent0S 7的网卡名称eno16777736改为eth0
- 用O(1)的时间复杂度删除单链表中的某个节点
- IOC控制反转(依赖注入思想)
- MyEclipse中解决“Save could not be completed”问题!
- Centos6.3 PHP编译安装JSON模块报错解决
- [经验]自定义ASP.NET服务器控件属性的状态不能保存的问题
- 阿里云块存储快照服务背后的技术原理
- TOGAF架构学习总结
- Office 2007卸载
- 防毒技巧 从硬盘及内存中检测潜存病毒
- 关于CS找实习的不完整经验
- centos 7.6 安装Netbackup 9.1
- SQLStudio下载
- C语言数字图像处理---1.2 彩色图像灰度化和二值化
热门文章
- mysql5.6 函数索引_聊聊MySQL中的索引
- 航空频率表 2020_航空波段+调频、中波、短波,这个美国TR608收音机值40美元吗?...
- C语言编码小球斜抛运动,利用C4droid绘制小球斜抛运动轨迹(考虑空气阻力)
- word doc怎么显示base64图片_win10系统word文档打印不出图片怎么办
- 地图漫游功能的具体体现_骏谷科技|数据中心三维可视化管理系统功能亮点
- android自定义控件中文乱码,Android笔记--自定义View之组合控件
- Linux的文本字段统计方法
- asyncdata连接php,如何使用Nuxt和asyncData观察路由更改
- 底部固定菜单_【悬浮菜单】安卓悬浮amp;手势助手
- oracle11g迁移到12cpdb,12c跨平台完成PDB的备份迁移