2016-04-17 1 views
0

私は、私が編集する木星を使用しています。この基本的な問題jupyterを使用して編集していますが、pymongoをインポートした後、MongoDBに保存したデータを一覧表示できないのはなぜですか?

enter image description here

import pymongo 

client = pymongo.MongoClient('localhost', 27017) 
ceshi = client['ceshi'] 
item_info = ['item_info3'] 

for i in item_info: 
    if i.find('area'): 
     print(i) 

についてとても残念パイソンのちょうど初心者ですが、輸入pymongoた後、私は私がに保存されたデータを一覧表示することができませんMongoDB。理由は何でしょうか?

from bs4 import BeautifulSoup 
import requests 
import time 
import pymongo 


client = pymongo.MongoClient('localhost',27017) 
ceshi = client['ceshi'] 
url_list = ceshi['url_list3'] 
item_info = ceshi['item_info3'] 

def get_links_from(channel,pages,who_sells=0): 
    #http://bj.58.com/diannao/0/pn2/ 
    list_view = '{}{}/pn{}/'.format(channel,str(who_sells),str(pages)) 
    wb_date = requests.get(list_view) 
    time.sleep(1) 
    soup = BeautifulSoup(wb_date.text,'lxml') 
    links = soup.select('tr.zzinfo > td.t > a.t') 
    if soup.find('td','t'): 
     for link in links: 
      item_link = link.get('href').split('?')[0] 
     else: 
      pass 

     url_list.insert_one({'url':item_link}) 
     print(url_list) 


def get_item_info(url): 
    wb_data = requests.get(url) 
    soup = BeautifulSoup(wb_data.text,'lxml') 
    no_longer_exist = '404' in 
    soup.find('script',type="text/javascript").get('src').split('/') 
    if no_longer_exist: 
     pass 
    else: 

     title = soup.title.text 
     price = soup.select('span.price.c_f50')[0].text 
     date = soup.select('li.time')[0].text 
     area = list(soup.select('spam.c_25d a')[0].stripped_strings) if 
     soup.find_all('c_25d') else None      

item_info.insert_one({ 'タイトル':タイトル、 '価格':価格、 '日付':日付、 '地域':地域})

 print(item_info) 


    #print({'title':title,'price':price,'date':date,'area':area}) 
get_item_info('http://bj.58.com/pingbandiannao/25347275157966x.shtml') 
#get_links_from('http://bj.58.com/yunfuyongpin/',2) 
+1

ない画像などのコードとしてフォーマットあなたのプログラムを表示してくださいこのようなものでなければなりません。 – CaptSolo

+0

Pythonから直接実行すると(Jupyterからではなく)コードが正常に動作しますか?私はそうは思わない。 – CaptSolo

+0

質問にさらに情報を追加する必要があります。 Mongoで照会しようとしているコレクションの名前は何ですか?今は文字列のリストをループしているようです。 'item_info3'はMongoのコレクションですか? – markwatsonatx

答えて

0

あなたがループしているように見えます文字列の配列を通って、文字列の上で見つける呼び出そう:

item_info = ['item_info3'] 
for i in item_info: 
    if i.find('area') 

item_info3ceshiデータベースであなたのMongoのコレクションの名前であるならば、あなたのような何かをする必要があります

item_info = ceshi['item_info3'] 

でも、あなたの検索クエリが正しいとは思われません。モンゴ/ pythonの上

for i in item_info.find(): 
    print(i) 

詳細情報::

https://docs.mongodb.org/getting-started/python/query/

関連する問題