scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
本文实例讲述了scrapy自定义pipeline类实现将采集数据保存到mongodb的方法。分享给大家供大家参考。具体如下:
# Standard Python library imports # 3rd party modules import pymongo from scrapy import log from scrapy.conf import settings from scrapy.exceptions import DropItem class MongoDBPipeline(object): def __init__(self): self.server = settings['MONGODB_SERVER'] self.port = settings['MONGODB_PORT'] self.db = settings['MONGODB_DB'] self.col = settings['MONGODB_COLLECTION'] connection = pymongo.Connection(self.server, self.port) db = connection[self.db] self.collection = db[self.col] def process_item(self, item, spider): err_msg = '' for field, data in item.items(): if not data: err_msg += 'Missing %s of poem from %s\n' % (field, item['url']) if err_msg: raise DropItem(err_msg) self.collection.insert(dict(item)) log.msg('Item written to MongoDB database %s/%s' % (self.db, self.col), level=log.DEBUG, spider=spider) return item
希望本文所述对大家的python程序设计有所帮助。
相关推荐
-
Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
本文实例讲述了Python使用scrapy采集数据时为每个请求随机分配user-agent的方法.分享给大家供大家参考.具体分析如下: 通过这个方法可以每次请求更换不同的user-agent,防止网站根据user-agent屏蔽scrapy的蜘蛛 首先将下面的代码添加到settings.py文件,替换默认的user-agent处理模块 复制代码 代码如下: DOWNLOADER_MIDDLEWARES = { 'scraper.random_user_agent.RandomUserAg
-
基于scrapy实现的简单蜘蛛采集程序
本文实例讲述了基于scrapy实现的简单蜘蛛采集程序.分享给大家供大家参考.具体如下: # Standard Python library imports # 3rd party imports from scrapy.contrib.spiders import CrawlSpider, Rule from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor from scrapy.selector import HtmlXP
-
Python使用scrapy采集数据过程中放回下载过大页面的方法
本文实例讲述了Python使用scrapy采集数据过程中放回下载过大页面的方法.分享给大家供大家参考.具体分析如下: 添加以下代码到settings.py,myproject为你的项目名称 复制代码 代码如下: DOWNLOADER_HTTPCLIENTFACTORY = 'myproject.downloader.LimitSizeHTTPClientFactory' 自定义限制下载过大页面的模块 复制代码 代码如下: MAX_RESPONSE_SIZE = 1048576 # 1Mb fro
-
Python基于scrapy采集数据时使用代理服务器的方法
本文实例讲述了Python基于scrapy采集数据时使用代理服务器的方法.分享给大家供大家参考.具体如下: # To authenticate the proxy, #you must set the Proxy-Authorization header. #You *cannot* use the form http://user:pass@proxy:port #in request.meta['proxy'] import base64 proxy_ip_port = "123.456.7
-
Python自定义scrapy中间模块避免重复采集的方法
本文实例讲述了Python自定义scrapy中间模块避免重复采集的方法.分享给大家供大家参考.具体如下: from scrapy import log from scrapy.http import Request from scrapy.item import BaseItem from scrapy.utils.request import request_fingerprint from myproject.items import MyItem class IgnoreVisitedIt
-
Python使用scrapy采集时伪装成HTTP/1.1的方法
本文实例讲述了Python使用scrapy采集时伪装成HTTP/1.1的方法.分享给大家供大家参考.具体如下: 添加下面的代码到 settings.py 文件 复制代码 代码如下: DOWNLOADER_HTTPCLIENTFACTORY = 'myproject.downloader.HTTPClientFactory' 保存以下代码到单独的.py文件 复制代码 代码如下: from scrapy.core.downloader.webclient import ScrapyHTTPClien
-
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
本文实例讲述了scrapy自定义pipeline类实现将采集数据保存到mongodb的方法.分享给大家供大家参考.具体如下: # Standard Python library imports # 3rd party modules import pymongo from scrapy import log from scrapy.conf import settings from scrapy.exceptions import DropItem class MongoDBPipeline(o
-
python爬虫数据保存到mongoDB的实例方法
爬虫数据保存到mongoDB的方法: import pymongo # 首先需要注意,mongodb数据库存储的类型是以键值对类型进行存储,所以在存储以前一定要进行数据筛选 def save_mongo(传入的数据): # 创建连接 因为使用的为本机数据库,所以IP写localhost即可,端口号为27017 client = pymongo.MongoClient('localhost',27017) # 连接数据库(这里注意一点,mongo数据库有一个优点,就是当自己连接的数据库和表都没有的
-
Android实现内存中数据保存到sdcard的方法
本文实例讲述了Android实现内存中数据保存到sdcard的方法.分享给大家供大家参考,具体如下: public static void writeToSdCard(String s) { try { File dst = new File("/sdcard/test_sensor/" + mName + ".txt"); File parent = dst.getParentFile(); if(!parent.exists()) { parent.mkdirs
-
Bootstrap富文本组件wysiwyg数据保存到mysql的方法
Bootstrap提供了一个叫wysiwyg的富文本组件,用来显示和编辑富文本数据,但如何将编辑后的数据保存到MySQL数据库,却不得而知.另外,如何将mysql数据库中的数据显示到wysiwyg也不得而知,对于这两个问题,让我来告诉你解决方案! 一.效果展示 首先,我们先来看看效果如何: 富文本中有一张图片,还有一个数字列表 我们可以看到编辑后的数据保存成功,以及保存后对应的展示. 二.富文本 度娘对于富文本的解释如下: 富文本格式(Rich Text Format, 一般简称为RTF)是由微
-
利用scrapy将爬到的数据保存到mysql(防止重复)
前言 本文主要给大家介绍了关于scrapy爬到的数据保存到mysql(防止重复)的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 1.环境建立 1.使用xmapp安装php, mysql ,phpmyadmin 2.安装python3,pip 3.安装pymysql 3.(windows 略)我这边是mac,安装brew,用brew 安装scrapy 2.整个流程 1. 创建数据库和数据库表,准备保存 2.写入爬虫目标URL,进行网络请求 3.对爬返回数据进行处理,得
-
python读取json文件并将数据插入到mongodb的方法
本文实例讲述了python读取json文件并将数据插入到mongodb的方法.分享给大家供大家参考.具体实现方法如下: #coding=utf-8 import sunburnt import urllib from pymongo import Connection from bson.objectid import ObjectId import logging from datetime import datetime import json from time import mktime
-
C#将Sql数据保存到Excel文件中的方法
本文实例讲述了C#将Sql数据保存到Excel文件中的方法,非常有实用价值.分享给大家供大家参考借鉴之用. 具体功能代码如下: public string ExportExcel( DataSet ds,string saveFileName) { try { if (ds == null) return "数据库为空"; bool fileSaved = false; Microsoft.Office.Interop.Excel.Application xlApp = new Mic
-
使用pandas将numpy中的数组数据保存到csv文件的方法
接触pandas之后感觉它的很多功能似乎跟numpy有一定的重复,尤其是各种运算.不过,简单的了解之后发现在数据管理上pandas有着更为丰富的管理方式,其中一个很大的优点就是多出了对数据文件的管理. 如果想保存numpy中的数组元素到一个文件中,通过纯Python的文件写入当然是可以实现的,但是总觉得是少了一点便捷性.在这方面,pandas工具的使用就会让工作方便很多.下面通过一个简单的小例子来演示一下. 首先,创建numpy中的数组. In [18]: arr1 = np.arange(10
-
C#将DataGridView中的数据保存到CSV和Excel中
一.保存到CSV public static bool dataGridViewToCSV(DataGridView dataGridView) { if (dataGridView.Rows.Count == 0) { MessageBox.Show("没有数据可导出!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return false; } SaveFileDialog saveFile
随机推荐
- JSP与Servlet的介绍说明
- 使用Vue.js创建一个时间跟踪的单页应用
- window.location.href = window.location.href 跳转无反应 a超链接onclick事件写法
- JavaScript验证用户输入的是字符或数字及ASCII Chart应用
- js实现同一页面多个运动效果的方法
- asp.net 存储过程调用
- php zip文件解压类代码
- session 加入redis的实现代码
- JavaScript返回上一页的三种方法及区别介绍
- 理解Docker(2):Docker 镜像详细介绍
- 详解MySQL数据库优化的八种方式(经典必看)
- 下拉列表选择项的选中在不同浏览器中的兼容性问题探讨
- node.js操作mongodb学习小结
- Spring AOP切面解决数据库读写分离实例详解
- Android中自定义View实现圆环等待及相关的音量调节效果
- 比较详细的ruby symbol 学习资料
- mssql查找备注(text,ntext)类型字段为空的方法
- jQuery选择器源码解读(八):addCombinator函数
- jQuery中map函数的两种方式
- Apache启用GZIP压缩网页传输方法