为了账号安全,请及时绑定邮箱和手机立即绑定

AttributeError: 'DoubanPipeline' object has no attribute 'post'

我和视频上的代码一样的...在pipelines.py添加mongo的配置后,怎么老是报这个错呢

正在回答

10 回答

是啊,补全了也没有用,我本来就是双下划线的

0 回复 有任何疑惑可以回复我~

还没解决掉,用了补全没用

1 回复 有任何疑惑可以回复我~
#1

慕用3677050

解决了,因为post,给我写成了port
2019-01-15 回复 有任何疑惑可以回复我~

才发现python的init函数前后的下划线都是2根,所以选择编辑器补全的就行了

https://img1.sycdn.imooc.com//5c2ae2740001918906020159.jpg

0 回复 有任何疑惑可以回复我~

建议重新写一下_init_,我重写一遍就行了。。。。。。

0 回复 有任何疑惑可以回复我~

有可能是数据库初始化函数里面的内容没有运行到,__init__(self)这个名字init左右都是双下划线,pycharm写对了会变色的

1 回复 有任何疑惑可以回复我~

初始化方法写错了,应该是def __init__(self):

0 回复 有任何疑惑可以回复我~

我也遇到了这个问题,好想知道如何解决

0 回复 有任何疑惑可以回复我~

我也是这个问题,请问怎么解决

0 回复 有任何疑惑可以回复我~

可能是mongodb的IP地址不对,你自己的可能和视频中的不一样,像我的就是127.0.0.1https://img1.sycdn.imooc.com//5bb46dd400016e9106260258.jpg

0 回复 有任何疑惑可以回复我~
#1

慕用3677050

27017不能用引号
2019-01-15 回复 有任何疑惑可以回复我~
2018-09-11 18:36:11 [scrapy.core.scraper] ERROR: Error processing {'describe': '我们都曾经是一一。',
 'evaluate': '176905人评价',
 'introduce': '2000/台湾日本/剧情爱情家庭',
 'movie_name': '一一',
 'serial_number': '100',
 'star': '8.9'}
Traceback (most recent call last):
  File "/usr/python/lib/python3.5/site-packages/twisted/internet/defer.py", line 654, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/root/douban/douban/pipelines.py", line 22, in process_item
    self.post.insert(data)
AttributeError: 'DoubanPipeline' object has no attribute 'post'

这是完整的错误代码...下面是我的配置文件pipelines.py

# -*- coding: utf-8 -*-
import pymongo
from douban.settings import mongo_host,mongo_port,mongo_db_name,mongo_db_collection
# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: https://doc.scrapy.org/en/latest/topics/item-pipeline.html


class DoubanPipeline(object):
    def __int__(self):
        host = mongo_host
        port = mongo_port
        dbname = mongo_db_name
        sheetname = mongo_db_collection
        client = pymongo.MongoClient(host=host,port=port)
        mydb = client[dbname]
        self.post = mydb[sheetname]
    def process_item(self, item, spider):
        data = dict(item)
        self.post.insert(data)
        return item


0 回复 有任何疑惑可以回复我~
#1

jevens03

我和你遇到同样的问题
2018-11-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

AttributeError: 'DoubanPipeline' object has no attribute 'post'

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号