打卡:2-1學用MongoDB篩選房子啦

這幾天一直在搗鼓mongoDB的安裝費了好多精力啊作業(yè)都延遲了
不過勤lan勞duo的我對數據庫還是漸漸熟悉起來,雖然還不是很理解竟块,但感覺就像全自動的倉庫一樣壶运,配合excel的導入導出帥的不行~
然后這周的作業(yè)是

目標:爬取小豬短租的頁表信息,然后篩選出500元以上的房子

小豬短租

價格浪秘,標題蒋情,出租方式,評論人數耸携,還有地理位置棵癣,就是我們要達成的目標啦(還有一個翻頁問題)

運行結果

結果截圖

五頁內500元以上的房子就是這些了(づ ̄ 3 ̄)づ

源代碼

import requests
from bs4 import BeautifulSoup
import time
import pymongo

client = pymongo.MongoClient('localhost',27017)
xiaozhu = client['xiaozhu']
sheet = xiaozhu['sheet']

def get_imformation(path):
    resp = requests.get(path)
    data = BeautifulSoup(resp.text,'lxml')
    prices = data.select('#page_list > ul > li > div.result_btm_con.lodgeunitname > span.result_price > i')
    titles = data.select('#page_list > ul > li > div.result_btm_con.lodgeunitname > div > a > span')
    kinds_positions = data.select('#page_list > ul > li > div.result_btm_con.lodgeunitname > div > em')
    comments = data.select('#page_list > ul > li > div.result_btm_con.lodgeunitname > div > em > span')
    for price, title, kind_pos, comment in zip(prices,titles,kinds_positions, comments):
        kind_pos1 = kind_pos.get_text().split('-')
        kind = kind_pos1[0].replace('\n', '').replace(' ', '')
        pos = kind_pos1[-1].replace('\n', '').replace(' ', '')
        list = {
            'price': int(price.get_text() if price else None),
            'title': title.get_text() if title else None,
            'comment': comment.get_text() if comment else None,
            'kind':kind if kind else None,
            'pos':pos if pos else None
        }
        sheet.insert_one(list)

paths = ['http://bj.xiaozhu.com/search-duanzufang-p{}-0/'.format(i) for i in range(1,6)]
for path in paths:
    time.sleep(2)
    get_imformation(path)
    print(path,'done')

for item in sheet.find({'price':{'$gte':500}}):
    print(item)

難點與收獲

  • 這是初次在實戰(zhàn)使用數據庫,感覺還是很好玩的夺衍,倉庫的功能真的非常強大狈谊,但介于現在還不是太熟悉,所以還要看接下來的進步~
  • 一個問題是沟沙,獲取到的評論人數河劝、出租類型和位置在一個<em></em>里還有很多\n和空格,我這里的解決辦法是矛紫,get_text()之后用split('-')分割成三個部分赎瞎,然后每個部分去掉多余信息(replace)
  • 還有一個問題是篩選房源的時候,字典的price直接get_text()得到的是string颊咬,所以為了可以和Int對比务甥,放入字典之前用了Int轉換。一開始嘗試直接在篩選的時候轉換為str喳篇,但是str判斷時對比的是第一個字符比第一個字符敞临,第二個字符比第二個字符,所以'88'>'500'麸澜,因此挺尿,要對比Int,不能偷懶。
  • 沒了,為打卡太慢感到抱歉
    下次會快點做完的票髓!
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市铣耘,隨后出現的幾起案子洽沟,更是在濱河造成了極大的恐慌,老刑警劉巖蜗细,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件裆操,死亡現場離奇詭異,居然都是意外死亡炉媒,警方通過查閱死者的電腦和手機踪区,發(fā)現死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吊骤,“玉大人缎岗,你說我怎么就攤上這事“追郏” “怎么了传泊?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長鸭巴。 經常有香客問我眷细,道長,這世上最難降的妖魔是什么鹃祖? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任溪椎,我火速辦了婚禮,結果婚禮上恬口,老公的妹妹穿的比我還像新娘校读。我一直安慰自己,他們只是感情好祖能,可當我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布地熄。 她就那樣靜靜地躺著,像睡著了一般芯杀。 火紅的嫁衣襯著肌膚如雪端考。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天揭厚,我揣著相機與錄音却特,去河邊找鬼。 笑死筛圆,一個胖子當著我的面吹牛太援,可吹牛的內容都是我干的。 我是一名探鬼主播仙蛉,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼笋敞,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了荠瘪?” 一聲冷哼從身側響起夯巷,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎哀墓,沒想到半個月后趁餐,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡篮绰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年吠各,在試婚紗的時候發(fā)現自己被綠了喷面。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡走孽,死狀恐怖惧辈,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情磕瓷,我是刑警寧澤边翁,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站硕盹,受9級特大地震影響符匾,放射性物質發(fā)生泄漏。R本人自食惡果不足惜瘩例,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一啊胶、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧垛贤,春花似錦焰坪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春黔漂,著一層夾襖步出監(jiān)牢的瞬間诫尽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工炬守, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留牧嫉,地道東北人。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓劳较,卻偏偏與公主長得像驹止,于是被迫代替她去往敵國和親浩聋。 傳聞我的和親對象是個殘疾皇子观蜗,可洞房花燭夜當晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內容

  • ¥開啟¥ 【iAPP實現進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 6,444評論 0 17
  • 1. Java基礎部分 基礎部分的順序:基本語法衣洁,類相關的語法墓捻,內部類的語法,繼承相關的語法坊夫,異常的語法砖第,線程的語...
    子非魚_t_閱讀 31,664評論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現环凿,斷路器梧兼,智...
    卡卡羅2017閱讀 134,704評論 18 139
  • 1.OC里用到集合類是什么? 基本類型為:NSArray智听,NSSet以及NSDictionary 可變類型為:NS...
    輕皺眉頭淺憂思閱讀 1,379評論 0 3
  • 聽《再見二丁目》有感羽杰。網友評價這首詞很有深度,我也覺得蠻有哲理的到推,練鋼筆字的的時候抄了好些遍考赛。單曲循環(huán)了若干遍之后...
    飛筆潯常閱讀 608評論 0 0