scrapy基础知识之将item 通过pipeline保存数据到mysql mongoDB:
pipelines.py
class xxPipeline(object):
def process_item(self, item, spider):
con=pymysql.connect(host='localhost,user='',passwd='',db='',charset='utf8')
cur=con.cursor()
sql=("insert into 表名(字段)”"values(%s)")
lis=(item['字段'])
cur.execute(sql,lis)
con.commit()
cur.close()
con.close()
return item
在settings.py中配置
ITEM_PIPELINES = {
’MySpider.pipelines.xxPipeline': 300,
}
需要在mysql中创建数据库以及数据表字段
pipelines.py
import pymongo
class MyspiderPipeline(object):
def __init__(self):
# pymongo.MongoClient(host, port) 创建MongoDB链接
client = pymongo.MongoClient(host="localhost",port=27017)
# 指向指定的数据库
db_name = client["dbname"]
table_name=db_name["tablename"]
# 获取数据库里存放数据的表名
self.post = table_name
def process_item(self, item, spider):
data = dict(item)
# 向指定的表里添加数据
self.post.insert(data)
return item
settings.py配置
DEFAULT_REQUEST_HEADERS = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:53.0) Gecko/20100101 Firefox/53.0'}
scrapy基础知识之将item 通过pipeline保存数据到mysql mongoDB:的更多相关文章
- scrapy学习笔记(三):使用item与pipeline保存数据
scrapy下使用item才是正经方法.在item中定义需要保存的内容,然后在pipeline处理item,爬虫流程就成了这样: 抓取 --> 按item规则收集需要数据 -->使用pip ...
- scrapy基础知识之将item写入JSON文件:
pipelines.py import json class xxPipeline(object): def __init__(self): self.filename=ope ...
- scrapy基础知识之 CrawlSpiders爬取lagou招聘保存在mysql(分布式):
items.py import scrapy class LagouItem(scrapy.Item): # define the fields for your item here like: # ...
- 0.Python 爬虫之Scrapy入门实践指南(Scrapy基础知识)
目录 0.0.Scrapy基础 0.1.Scrapy 框架图 0.2.Scrapy主要包括了以下组件: 0.3.Scrapy简单示例如下: 0.4.Scrapy运行流程如下: 0.5.还有什么? 0. ...
- PHP面试(一):PHP基础知识考察点、网页考察点、Linux考察点、MySQL考察点
一.基础知识考察 1.引用变量的概念及定义方式——引用变量的原理 2.常量及数据类型——字符串的三种定义方法及各自的区别 3.运算符的使用——错误控制符.运算符优先级 4.流程控制操作 5.自定义函数 ...
- c++ 基础知识回顾 继承 继承的本质就是数据的copy
c++ 基础知识笔记 继承 什么是继承 继承就是子类继承父类的成员属性以及方法 继承的本质就是 数据的复制 是编译器帮我们做了很多操作 class Base { public: Base(){ cou ...
- scrapy抓取拉勾网职位信息(七)——数据存储(MongoDB,Mysql,本地CSV)
上一篇完成了随机UA和随机代理的设置,让爬虫能更稳定的运行,本篇将爬取好的数据进行存储,包括本地文件,关系型数据库(以Mysql为例),非关系型数据库(以MongoDB为例). 实际上我们在编写爬虫r ...
- c#基础之异常处理及自定义异常 从SQLServer转储数据到MySQL
c#基础之异常处理及自定义异常 一.什么是c#中的异常? 异常是程序运行中发生的错误,异常处理是程序的一部分.c#中的异常类主要是直接或者间接的派生于 System.Exception类 ,也就是说S ...
- scrapy基础知识之 Scrapy 和 scrapy-redis的区别:
Scrapy 和 scrapy-redis的区别 Scrapy 是一个通用的爬虫框架,但是不支持分布式,Scrapy-redis是为了更方便地实现Scrapy分布式爬取,而提供了一些以redis为基础 ...
随机推荐
- jquery动态创建元素
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- Win8 Metro(C#)数字图像处理--2.39二值图像投影
原文:Win8 Metro(C#)数字图像处理--2.39二值图像投影 [函数名称] 二值图像投影 ImageProjection(WriteableBitmap src) ...
- Win10《芒果TV》跨年邀你嗨唱,同步直播《湖南卫视2017-2018跨年演唱会》
由天天兄弟.快本家族联袂主持,不容错过的年度盛典<湖南卫视2017-2018跨年演唱会>将于2017年12月31日19:30起由芒果TV同步直播,果妈备上礼物邀您一起跨年嗨唱. 跨年邀你嗨 ...
- JavaScript生成树形菜单(递归算法)
1.最终效果图(这里仅为实现算法,并加载至页面,不做任何css界面优化) 注释:本示例包含三级目录菜单,但实际上可支持N级(可使用该代码自行测试) 2.数据源 菜单信息一般来源于数据库中数据表,且为自 ...
- 微信小程序把玩(三十一)wx.uploadFile(object), wx.downloadFile(object) API
原文:微信小程序把玩(三十一)wx.uploadFile(object), wx.downloadFile(object) API 反正我是没有测通这两个API!!!!不知道用的方式不对还是其他的!! ...
- 【Python】:拓展Queue实现有序不重复队列
最近手头有个需求是这样的,定期检查数据库获取失败任务并且进行重启.最早想到的是添加一个生产者&&消费者队列,但是发现很多棘手的问题. 1.重启任务是调用的一个shell脚本然后在脚本中 ...
- 把握每次机会,麒麟芯片5年成就高端(SoC包括AP、基带、ISP等,华为确实牛)
从2016年11月华为Mate 9 /Mate 9 Pro发布,到2017年2月荣耀V9和华为P10 /P10 Plus 相继发布,这几款都是华为和荣耀的高端旗舰机型,且搭载的都是华为最新旗舰芯片-- ...
- VCL比MFC好在哪里
作者:刘国华链接:https://www.zhihu.com/question/35218485/answer/118472021来源:知乎著作权归作者所有,转载请联系作者获得授权. 从使用感受而言, ...
- Delphi获得一个进程的主窗体(GetWindow(AHandle, GW_OWNER)等于0的窗体才是主窗体,并且要IsWindowVisible排除Application窗口)
type TMainWindow = packed record ProcessID: THandle; MainWindow: THandle; end; PMainWindow ...
- 京东sdk商家上架接口调用问题总结
前言: 最近在做商家发布产品,调用京东sdk,发现问题很多,而且还是在我同事的帮助下完成的,摸索中,菜鸟还请高手门多多提携才好,入正题 首先是引用jd的sdk啦,京东sdk中发布商品需要调用一个 36 ...