- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 scrapy + MongoDB (PyMongo) 抓取 Spider,但收到错误:名称必须是基本字符串的实例。
由于我的 Spider 正在工作,因为它正在将数据抓取到 json,我猜错误出在我的新管道中,这里是源代码:
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['localhost']
self.port = settings['27017']
self.db = settings['IngressoRapido']
self.col = settings['Shows']
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 banda, local in item.items():
if not local :
err_msg += 'Faltando local %s da banda %s\n' % (banda, item['banda'])
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
最佳答案
似乎您打算连接到本地主机端口 27017,但您却使用这些值作为键来从设置中获取值。您是指这个吗?
def __init__(self):
self.server = 'localhost'
self.port = '27017'
self.db = 'IngressoRapido'
self.col = 'Shows'
关于python - PyMongo + Scrapy =名称必须是basestring的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18516700/
为什么 numpy 数字类型是 basestring 的子类型? for nptype in [np.int32, np.int64, np.integer, np.float]: for s
我正在使用 Troposphere 创建 CloudFormation 模板。 如果我使用变量或字符串,我会收到错误 - , expected 我是对流层和 python 的新手,因此非常感谢您的帮
几周前,我在一台 Linux Mint(一个 Ubuntu 衍生产品)机器上安装了 Selenium 并用它开发了一些 Puthon 抓取脚本。一切正常。 现在,我试图在另一台机器上复制安装,也在 L
我正在尝试执行 ansible2 commnads... 当我这样做时: ansible-playbook -vvv -i my/inventory my/playbook.yml 我明白了: Une
我正在尝试在我的 Django 中使用 Mongodb。 下面是settings.py中的连接设置 DEBUG = True TEMPLATE_DEBUG = DEBUG ADMINS = (
有什么区别: isinstance(foo, types.StringType) 和 isinstance(foo, basestring) ? 最佳答案 对于 Python2:basestring
a='aaaa' print isinstance(a, basestring)#true print isinstance(a, str)#true 最佳答案 在 3.0 之前的 Python 版本
我在本地目录中的 test.py 旁边有一个名为 hello.txt 的文件,其中包含以下 Python 3.4 代码: import easywebdav webdav = easywebdav.c
我是一名优秀的程序员,十分优秀!