小编Pit*_*tty的帖子

如何在Scrapy Spider中获取管道对象

我已经使用mongodb来存储爬网的数据。

现在我想查询数据的最后日期,这样我就可以继续抓取数据而不需要从url列表的开头重新启动它。(url可以由日期确定,例如:/ 2014-03-22 .html)

我只希望有一个连接对象来执行数据库操作,该操作正在进行中。

因此,我想知道如何在Spider中获取管道对象(不是新对象)。

或者,任何更好的增量更新解决方案...

提前致谢。

抱歉,我的英语不好...现在就试用:

# This is my Pipline
class MongoDBPipeline(object):
    def __init__(self, mongodb_db=None, mongodb_collection=None):
        self.connection = pymongo.Connection(settings['MONGODB_SERVER'], settings['MONGODB_PORT'])
        ....
    def process_item(self, item, spider):
        ....
    def get_date(self):
        ....
Run Code Online (Sandbox Code Playgroud)

和蜘蛛:

class Spider(Spider):
    name = "test"
    ....

    def parse(self, response):
        # Want to get the Pipeline object
        mongo = MongoDBPipeline() # if take this way, must a new Pipeline object
        mongo.get_date()          # In scrapy, it must have a Pipeline object for the spider
                                  # I …
Run Code Online (Sandbox Code Playgroud)

python mongodb scrapy

5
推荐指数
1
解决办法
1945
查看次数

是否有将Web资源下载到hdfs的命令?

我想写一个用于将web资源推送到hadoop的程序.我使用hadoop 2.2.0,发现'put'不能像这样工作:

hadoop fs -put http://localhost/test.log hdfs://localhost:9000/log/ 
Run Code Online (Sandbox Code Playgroud)

有没有办法把文件放到hdfs,而不先下载它?

PS:假设我没有hadoop服务器和Web资源服务器的权限.

hadoop hdfs

1
推荐指数
1
解决办法
2173
查看次数

标签 统计

hadoop ×1

hdfs ×1

mongodb ×1

python ×1

scrapy ×1