python爬虫 - 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章:泣血跪求'
这样,同时把得查询到的结构存到另外一个表中,以及得到
'http://tieba.baidu.com/p/4329505585' : '『诛魂记』第313章:泣血跪求'
中的连接 http://tieba.baidu.com/p/4329505585
最近开始在接触一些爬虫相关的东西,想自己做个东西出来,实在是捉急了。
下面是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)
问题解答
回答1:为什么不在抓取的时候直接根据data里面的内容是否包含“『诛魂记』”来过滤一下呢?
>>> s = '『诛魂记』第331章:圣东王府'>>> '『诛魂记』' in sTrue>>> s = '新年快乐啦啦啦'>>> '『诛魂记』' in sFalse
相关文章:
1. nignx - docker内nginx 80端口被占用2. docker网络端口映射,没有方便点的操作方法么?3. docker绑定了nginx端口 外部访问不到4. javascript - canvas 裁剪空白区域5. docker不显示端口映射呢?6. angular.js - angular内容过长展开收起效果7. javascript - nodejs调用qiniu的第三方资源抓取,返回401 bad token,为什么8. docker images显示的镜像过多,狗眼被亮瞎了,怎么办?9. debian - docker依赖的aufs-tools源码哪里可以找到啊?10. docker api 开发的端口怎么获取?
