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
相關文章:
