- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 CrawlSpider,我设置了一个项目管道,我试图通过 MySQLdb 坚持下去。我到处搜索,发现的大多数样本至少有 6 个月的历史,所有样本都以相同的方式使用 adbapi。当我尝试使用相同的格式时,出现以下错误:
AttributeError: 'module' object has no attribute 'DictCursor'
我没有看到我在这里做错了什么,但我是 Python 的新手,也是 scrapy 的新手,所以我完全有可能忽略了一些简单的事情。
from twisted.enterprise import adbapi
from scrapy import log
import MySQLdb.cursors
class InventoryPipeline(object):
def __init__(self):
self.pool = adbapi.ConnectionPool('MySQLdb',
db='inventory',
user='root',
passwd='',
cursorClass=MySQLdb.cursors.DictCursor,
charset="utf8",
use_unicode=True
)
def process_item(self, item, spider):
query = self.pool.runInteraction(self._insert_record, item)
query.addErrback(self._handle_error)
return item
def _insert_record(self, tx, item):
tx.execute("select * from content where url = %s", (item['url']))
result = tx.fetchone()
if result:
log.msg("url already in database", level=log.INFO)
else:
tx.execute("insert into content (url, title, link_content, main_content, header) values (%s, %s, %s, %s, %s)",
(item['url'], item['title'], item['link_content'], item['main_content'], item['header']))
log.msg("Item stored in db: %s" % item, level=log.INFO)
return item
def _handle_error(self, e):
log.err(e)
最佳答案
我也遇到过这个问题,我解决了。
你可以试试这个
从 MySQLdb.cursors 导入 DictCursor
并将 cursorClass 更改为 "cursorClass=DictCursor"
它在我的电脑上运行,我希望它也能帮助你和其他人
关于python - scrapy + adbapi = 属性错误 : 'module' object has no attribute 'DictCursor' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17950914/
我正在使用 twisted 和使用 adbapi 连接池的 MySQL。我只插入到我的数据库中(尽管速度非常快)。 如果连接池因为所有连接都忙而用完连接会怎样?在繁忙的连接池上调用 runintera
我在旋风网络服务器中使用 adbapi。首先,我的处理程序将一些内容写入 SQL 数据库,然后向另一个 Web 服务器发出 HTTP 请求。如果该 HTTP 请求失败,我希望数据库事务回滚。但是,我没
恐怕我发现在twisted中使用sqlite3 ConnectionPools的adbapi接口(interface)很困难。 我已经在名为 db.py 的文件中像这样初始化了我的池: from tw
我正在尝试弄清楚事务在 twisted 的 adbapi 模块中是如何工作的。我目前正在使用 runOperation() 来执行 INSERT 和 UPDATE 语句。我将在下面链接到的文档使它看起
我插入了很多行,但似乎 postgress 跟不上。我用谷歌搜索了一下,建议您可以关闭自动提交。我不需要立即提交这些值。如果出现问题,我可以再次获取这些数据。 现在,当我搜索关闭自动提交时,我找不到我
我正在使用一个 python 扭曲的应用程序,该应用程序最初是使用阻塞数据库调用编写的。我正在将其更改为使用 adbapi,以便数据库调用变得非阻塞。我想我已经弄明白了,我只是想确保我没有遗漏任何东西
class MySQL(object): def __init__(self): self.dbpool = adbapi.ConnectionPool(
我有一个与 MySQL 数据库对话的 Cyclone Web 服务。当有一段时间没有事件时(我猜超过 8 小时),我收到以下错误,直到我重新启动 Web 服务: _mysql_exceptions.O
有什么方法可以将adbapi查询的字典结果返回给MySQL吗? [name: 'Bob', phone_number: '9123 4567'] 默认返回元组。 ['Bob', '9123 4567'
我是 python 新手,目前正在研究将其用作 SOAP 服务器的可行性。我目前有一个非常粗糙的应用程序,使用 mysql 阻塞 api,但想尝试扭曲的 adbapi。我已经使用 react 器在常规
概览 上下文 我正在为一些依赖于写入 SQLite3 数据库的高阶逻辑编写单元测试。为此,我使用了 twisted.trial.unittest 和 twisted.enterprise.adbapi
我正在尝试使用 MySQLdb 接口(interface)从 Twisted adbapi 调用 MySQL 存储过程,但无法使其正常工作。看到mysqldb中有调用存储过程的特殊方式(callpro
我正在使用this scrapy管道。如果insert_record函数中的sql有任何错误,它会默默地失败。例如,如果列名拼写错误,如下所示 def _insert_record(self, tx,
我可以使用以下方法插入 mySQL 数据, from twisted.enterprise.adbapi import ConnectionPool . . self.factory.pool.run
我有一个 CrawlSpider,我设置了一个项目管道,我试图通过 MySQLdb 坚持下去。我到处搜索,发现的大多数样本至少有 6 个月的历史,所有样本都以相同的方式使用 adbapi。当我尝试使用
我正在使用带有 sqlite3 数据库适配器和“runInteraction()”的 twisted.enterprise.adbapi。 我不断收到“sqlite3.OperationalError
我在 Twisted .tac 插件中使用 twisted.enterprise.adbapi,发现延迟对象返回用于 aConnectionPool 等函数。除非调用 reactor.(run),否则
在 twisted 中,我是一个永久的事件循环,它总是在寻找要运行的新查询它轮询一个 SQS 队列,并且是查询之间的时间足够长以致超时的时间,这是我在新的查询时得到的错误查询到达... MySQLdb
我是一名优秀的程序员,十分优秀!