开发者社区> 问答> 正文

mongodb 存入了pymongo传入的多个数据之后怎么提取有用的数据

有多条这样类似的数据

{ "_id" : ObjectId("56d06f01c3666e08d0f0c844"),
 "http://tieba.baidu.com/p/4345287300" : "【关于更新】作者原话", 
 "http://tieba.baidu.com/p/4328978430" : "服务。", 
 "http://tieba.baidu.com/p/4372502982" : "『诛魂记』第331章:圣东王府", 
 "http://tieba.baidu.com/p/4355241530" : "『诛魂记』第322章:麒麟之威", 
 "http://tieba.baidu.com/p/4329505585" : "『诛魂记』第313章:泣血跪求", 
 "http://tieba.baidu.com/p/4343824178" : "新年快乐啦啦啦", 
 "http://tieba.baidu.com/p/4328603018" : "写小说好看吗", 
 "http://tieba.baidu.com/p/4333008061" : "来吧,你我君臣一场", 
 "http://tieba.baidu.com/p/4315565196" : "『诛魂记』第305章:临危受命", 
 "http://tieba.baidu.com/p/4340906961" : "『诛魂记』第320章:擒贼擒王", 
 "http://tieba.baidu.com/p/4337476352" : "新年到了,是不是发红包了"
 }

我想在上面的数据当中获得能够匹配:『诛魂记』 的连接以及后面的文本数据,例如
"http://tieba.baidu.com/p/4329505585" : "『诛魂记』第313章:泣血跪求"
下面是python里面的代码

 def craw(self, root_urls):
        for new_url in root_urls:
            html_cont = self.downloader.download(new_url)
            new_chapter_urls, new_linkdatas = self.parser.parselink(root_chapter_url, html_cont)
            mid_data = zip(new_chapter_urls,new_linkdatas)
            mid_mid_datas = dict((new_chapter_urls,new_linkdatas) for new_chapter_urls,new_linkdatas in mid_data)
            c = pymongo.MongoClient(host='127.0.0.1', port=27017)
            db = c.spider
            db.chapter_datas.insert(mid_mid_datas, check_keys=False)

展开
收起
蛮大人123 2016-06-15 14:06:49 4226 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    为什么不在抓取的时候直接根据data里面的内容是否包含“『诛魂记』”来过滤一下呢?

    >>> s = "『诛魂记』第331章:圣东王府"
    >>> "『诛魂记』" in s
    True
    >>> s = "新年快乐啦啦啦"
    >>> "『诛魂记』" in s
    False
    2019-07-17 19:39:08
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Data as a Service - 数据即服务 -- MongoDB⾼级应⽤模式 立即下载
阿里云MongoDB云服务构建 立即下载
饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载