我正在使用scrapy,并试图将从spider抓取的数据保存到MySql数据库中。我正在使用管道来实现这一点,但没有运气。下面是我的管道代码:from scrapy import log

from scrapy.core.exceptions import DropItem

from twisted.enterprise import adbapi

import time

import MySQLdb.cursors

class FilterWordsPipeline(object):

"""A pipeline for filtering out items which contain certain words in their

description"""

# put all words in lowercase

words_to_filter = ['politics', 'religion']

def process_item(self, spider, item):

print spider

for word in self.words_to_filter:

if word in unicode(item['description']).lower():

raise DropItem("Contains forbidden word: %s" % word)

else:

return item

class MySQLStorePipeline(object):

def __init__(self):

# @@@ hardcoded db settings

# TODO: make settings configurable through settings

self.dbpool = adbapi.ConnectionPool('adress_to_db',

db='my_db',

user='my_user',

passwd='my_pw',

cursorclass=MySQLdb.cursors.DictCursor,

charset='utf8',

use_unicode=True

)

def process_item(self, spider, item):

# run db query in thread pool

query = self.dbpool.runInteraction(self._conditional_insert, item)

query.addErrback(self.handle_error)

return item

def _conditional_insert(self, tx, item):

# create record if doesn't exist.

# all this block run on it's own thread

tx.execute("select * from scrapytest where link = %s", (item['link'][0], ))

result = tx.fetchone()

if result:

log.msg("Item already stored in db: %s" % item, level=log.DEBUG)

else:

tx.execute(\

"insert into scrapytest (title, link, desc) "

"values (%s, %s, %s)",

(item['title'][0],

item['link'][0],

item['desc'][0]

)

log.msg("Item stored in db: %s" % item, level=log.DEBUG)

def handle_error(self, e):

log.err(e)

我得到的错误信息是:

^{pr2}$

我不知道从哪里开始,所以非常感谢你的帮助!在

mysql 垃圾_垃圾mysql pipelin相关推荐

  1. mysql整备_【mysql】使用xtrabackup在线增量备份及恢复数据库

    一.Percona Xtrabackup 简介 1.Xtrabackup  bin目录文件 介绍 1)innobackupex innobackupex 是xtrabackup的一个符号链接 . in ...

  2. shell实行mysql语句_【Mysql】shell运行mysql的sql语句_MySQL

    bitsCN.com [Mysql]shell运行mysql的sql语句 shell本身是一种脚本语言,所以不能像java一样通过api去连接数据库.shell还是要借助mysql本身的一些运行脚本才 ...

  3. mysql 优化_常用MySQL优化

    1.大批量插入数据优化 (1)对于MyISAM存储引擎的表,可以使用:DISABLE KEYS 和 ENABLE KEYS 用来打开或者关闭 MyISAM 表非唯一索引的更新. ALTER TABLE ...

  4. 阿里云查看mysql版本_查看mysql版本的四种方法及常用命令

    [shengting@login ~]$ mysql -V mysql Ver 14.7 Distrib 4.1.10a, for redhat-linux-gnu (i686) 2:在mysql中: ...

  5. 涂抹mysql 完整_涂抹mysql笔记-管理mysql服务

    $ /mysql/scripts/mysql_install_db --datadir=/mysql/data --basedir=/mysql support-files/mysql.server脚 ...

  6. xshell安装mysql步骤_数据库Mysql与禅道安装

    一.Linux上搭建禅道 Mysql 是关系型数据库管理系统 1.下载安装包:将安装包直接解压到/opt目录下,不要 解压到别的目录在拷贝到/opt/,因为这样会导致文件的所有者和读写权限改变 2.解 ...

  7. mysql实时读写_[DataBase] MySql 查看实时日志

    MySql 查看实时日志 -f 代表会实时读取该文件的更新内容 tail -f /usr/local/mysql/log/mysql.log 配置好日志 [mysqld] log-error = /u ...

  8. 试题导入mysql乱码_解决Mysql导入乱码问题

    解决Mysql导入乱码问题 方法一: 通过增加参数 –default-character-set = utf8 解决乱码问题 C:\Users\Administrator>mysql -uroo ...

  9. 51cto mysql下载_安装MySQL

    MySQL官方网站下载地址http://dev.mysql.com/downloads/下载的版本根据你的平台和需求而定,目前比较常用的为mysql-5.0/mysql-5.1, 5.5版本下载mys ...

  10. starting mysql. success!_启动mysql报错解决问题过程

    启动mysqld 报错 [root@localhost ~]# service mysqld start Starting MySQL.Logging to '/etc/mysql/localhost ...

最新文章

  1. 低差异序列:范德科皮特序列(Van der Corput sequence)
  2. jQeury的日期时分秒生成器插件,使用jQuery的匿名函数,静态方法的使用
  3. Android编译笔记二
  4. 简单帐表插件开发示例分享
  5. NewCode----给定两个数R和n,输出R的n次方
  6. 在MAC下安装Exuberant ctags
  7. python zipfile_python zipfile模块
  8. 真机上装不上测试应用,Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
  9. 遍历C#属性的通用方法
  10. 认识与防御XSS攻击
  11. iPhone越狱cydia源大全
  12. Mac和Windows中常见中文字体的英文名称
  13. 欢迎使用CSDN-markdown编辑器大范甘迪
  14. 只有迷信的人,没有迷信的知识
  15. EasyRecovery是最好用的手机数据恢复工具
  16. 用程序员计算机算进制,一文带你读懂计算机进制
  17. 数学物理方程 第二章 线性偏微分方程的通解
  18. 阿里园区今天开了个奇怪的诊所
  19. 使用WinNTSetup安装win10时提示efi part有红叉(win10安装UEFI系统安装)
  20. 如何在 Spring Boot 中用 Shiro 实现权限管理

热门文章

  1. PHP+MySQL+Dreamweaver动态网站建设从入门到精通
  2. HDU-1284:钱币兑换问题 推理+动态规划(dp)
  3. 内核编译及模块相关命令使用
  4. java前端显示统计报表数据_强大的报表前端展现功能
  5. openssl: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such
  6. 2019年TI杯 简易电路特性测试仪 制作过程(4)——程序总体分析 20/04/20
  7. html中图片透明度渐变效果,三种用CSS滤镜实现的图片透明度及渐变效果
  8. qq空间java_Java版 QQ空间自动登录无需拷贝cookie一天抓取30WQQ说说数据流程分析...
  9. MySQL搜索: WHERE 多条件
  10. 爱壁纸hd电脑版|爱壁纸hd电脑版下载