Scrapy的piplines.py存储文件和存储mongodb
一、将数据保存到文件
1.piplines.py文件
import json
class TencentPipeline(object):
def open_spider(self,spider):
if spider.name=='hr_tencent':
self.file=open('data.json','w')
def process_item(self, item, spider):
if spider.name=='hr_tencent':
data=dict(item)
# data=json.dumps(data,ensure_ascii=False)
data=json.dumps(data)
self.file.write(data+',\n')
return item
def close_spider(self,spider):
if spider.name=='hr_tencent':
self.file.close()
2.settings.py文件
ITEM_PIPELINES = {
'tencent.pipelines.TencentPipeline': 300,
}
二、将数据保存到mongodb
1.piplines.py文件
from pymongo import MongoClient class Tencent1Pipeline(object):
def open_spider(self,spider):
if spider.name == 'hr_tencent1':
self.client=MongoClient('127.0.0.1',27017)
self.tencent=self.client['tencent']['tencent']
def process_item(self,item,spider):
if spider.name == 'hr_tencent1':
print(item)
self.tencent.insert(dict(item))
return item
def close_spider(self,spider):
if spider.name == 'hr_tencent1':
self.client.close()
2.settings.py文件
ITEM_PIPELINES = {
'tencent.pipelines.Tencent1Pipeline': 299,
}
Scrapy的piplines.py存储文件和存储mongodb的更多相关文章
- Python爬虫框架Scrapy实例(三)数据存储到MongoDB
Python爬虫框架Scrapy实例(三)数据存储到MongoDB任务目标:爬取豆瓣电影top250,将数据存储到MongoDB中. items.py文件复制代码# -*- coding: utf-8 ...
- 数据存储 mongodb
数据存储 mongodb from pymongo import MongoClient import os base_dir = os.getcwd() class MongoPipeline(ob ...
- scrapy框架基于管道的持久化存储
scrapy框架的使用 基于管道的持久化存储的编码流程 在爬虫文件中数据解析 将解析到的数据封装到一个叫做Item类型的对象 将item类型的对象提交给管道 管道负责调用process_item的方法 ...
- 大数据存储:MongoDB实战指南——常见问题解答
锁粒度与并发性能怎么样? 数据库的读写并发性能与锁的粒度息息相关,不管是读操作还是写操作开始运行时,都会请求相应的锁资源,如果请求不到,操作就会被阻塞.读操作请求的是读锁,能够与其它读操作共享,但是当 ...
- scrapy爬取数据进行数据库存储和本地存储
今天记录下scrapy将数据存储到本地和数据库中,不是不会写,因为小编每次都写觉得都一样,所以记录下,以后直接用就可以了-^o^- 1.本地存储 设置pipel ines.py class Ak17P ...
- 第二十节:Scrapy爬虫框架之使用Pipeline存储
在上两节当中,我们爬取了360图片,但是我们需要将图片下载下来,这将如何下载和存储呢? 下边叙述一下三种情况:1.将图片下载后存储到MongoDB数据库:2.将图片下载后存储在MySQL数据库:3.将 ...
- Scrapy连接到各类数据库(SQLite,Mysql,Mongodb,Redis)
如何使用scrapy连接到(SQLite,Mysql,Mongodb,Redis)数据库,并把爬取的数据存储到相应的数据库中. 一.SQLite 1.修改pipelines.py文件加入如下代码 # ...
- scrapy爬取海量数据并保存在MongoDB和MySQL数据库中
前言 一般我们都会将数据爬取下来保存在临时文件或者控制台直接输出,但对于超大规模数据的快速读写,高并发场景的访问,用数据库管理无疑是不二之选.首先简单描述一下MySQL和MongoDB的区别:MySQ ...
- 关于scrapy的piplines
1.进入setting中把ITEM_piplines文件注销去掉 2.在piplines中写好代码 # -*- coding: utf- -*- # Define your item pipeline ...
随机推荐
- Lintcode177-Convert Sorted Array to Binary Search Tree With Minimal Height-Easy
177. Convert Sorted Array to Binary Search Tree With Minimal Height Given a sorted (increasing order ...
- 【Mac】【创建钥匙串】
1 Mac在钥匙串创建系统证书失败 https://blog.csdn.net/lllkey/article/details/79423596 问题: 在Eclipse的Debug,使用gdb的时候, ...
- OO第四次博客作业!
oo第四次博客作业 一.测试与正确性论证比较 测试只是单方面片面的证明对于当前的输入程序是正确的,测试只能证明程序有错误,不能说明程序是对的. 正确性论证是程序达到预期目的的一般性陈述,是通过规范化的 ...
- DataFrame 重新设置索引: reindex 和 reset_index 的区别
将两个 DataFrame 拼接后,想要对拼接后的 DataFrame 重新设置索引要用 reset_index 方法,要想让之前的索引消失,传入参数:drop=True.具体事例: data2017 ...
- 图解HTTP学习笔记
前言: 一直觉得自己在HTTP基础方面都是处于知其然,不知其所以然的样子.最近利用空闲时间拜读了一下图解HTTP,写篇博客记录一下读书笔记. TCP三次握手: ① 发送端首先发送一个带SYN标志的数据 ...
- fiddler -- 一个强大的抓包工具
一.fiddler常用功能: 1. Fiddler 是位于客户端和服务器端的http代理,也是目前最常用的http抓包工具之一.它能够记录客户端和服务器之间的所有http请求,可以针对特定的http请 ...
- 雷林鹏分享:jQuery EasyUI 数据网格 - 创建列组合
jQuery EasyUI 数据网格 - 创建列组合 easyui 的数据网格(DataGrid)可以创建列组合,如下所示: 在本实例中,我们使用平面数据来填充数据网格(DataGrid)的数据,并把 ...
- 【Mac】系统语言切换为英文后chrome浏览器无法用国内印象笔记账号登陆印象笔记剪藏
解决办法: 将chrome浏览器语言设置成中文就可以了
- 多重if-else语句
C语言自学之多重if-else语句 Dome : 某游戏对不同等级的积分的玩家赋予不同的荣誉称号,其对应关系如下: 积分>=10000分为钻石玩家 积分>=5000并且<10000为 ...
- 找到多个与名为“Home”的控制器匹配的类型
“/”应用程序中的服务器错误. 找到多个与名为“Home”的控制器匹配的类型.如果为此请求(“{controller}/{action}/{id}”)提供服务的路由没有指定命名空间以搜索与此请求相匹配 ...