python爬蟲--租房資訊
阿新 • • 發佈:2018-12-19
一、準備
前面幾節已經說了, 快速安裝庫, 編譯器選擇, soup.select()中的填寫 headers內容的更改,(如果不寫headers則執行幾次程式碼,瀏覽器就會限制你訪問。)
二、爬取的內容明細
難點: 性別部分利用if語句。
三、這裡直接寫程式碼
import requests from bs4 import BeautifulSoup URL = 'http://bj.xiaozhu.com/fangzi/37609773603.html' URL1 = 'http://bj.xiaozhu.com/fangzi/40280014403.html' #不寫headers瀏覽器會禁止訪問,我的部落格[python爬蟲--招聘資訊]中有對headers的詳細解釋。 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36' } wb_data = requests.get(URL, headers=headers) soup = BeautifulSoup(wb_data.content, 'lxml') #print(soup) HouseName = soup.select('div > div > div > h4 > em') HouseAdress = soup.select('div.wrap > div > div > p > span') HousePrice = soup.select('#pricePart > div.day_l > span') HousePicture = soup.select('#curBigImage') WannerPicture = soup.select('#floatRightBox > div.js_box.clearfix > div.member_pic > a > img') WannerName = soup.select('#floatRightBox > div.js_box.clearfix > div.w_240 > h6 > a') WannerSex = soup.select('#floatRightBox > div.js_box.clearfix > div.member_pic > div') if WannerSex[0]['class'][0] == 'member_ico': WannerSex = '男' elif WannerSex[0]['class'][0] == 'member_ico1': WannerSex = '女' else: WannerSex = '性別不明' '''body > div.wrap.clearfix.con_bg > div.con_l > div.pho_info > p > span 刪掉前面的body > 如果爬出來的資料是空值,空列表,索引超過範圍等這種錯誤,則需要刪除前面的一些,或者刪除每個點後面的東西 例如上面這條最終 可以是div.wrap.clearfix.con_bg > div.con_l > div.pho_info > p > span 也可以是div.wrap > div > div > p > span''' '''以下用了兩種字串輸出方式:拼接“+”,和字串輸出“%s” 用了3種爬蟲輸出文字方式,get_text(),text和string''' print('名稱:%s' %HouseName[0].string) print('地址:%s' %HouseAdress[0].get_text().strip()) print('價格:'+HousePrice[0].text) print('房子圖片:'+HousePicture[0]['src']) print('主人照片:'+WannerPicture[0]['src']) print('主人姓名:'+WannerName[0].text) print('主人性別:'+WannerSex)
四、輸出結果
名稱:北京《依慕山舍二號院》慕田峪長城~燒烤親子游
地址:北京市懷柔區渤海鎮三渡河村
價格:1880
房子圖片:https://image.xiaozhustatic1.com/00,800,533/16,0,79,36666,1800,1202,3510517e.jpg
主人照片:https://image.xiaozhustatic1.com/21/17,0,83,5096,414,415,fb86e91a.jpg
主人姓名:慕田峪依慕山舍
主人性別:男
Process finished with exit code 0
---------------------------------------------------------------------------------------------------
名稱:望京SOHO/阿里巴巴旁的清新田園公寓
地址:北京市朝陽區望京寶星國際108號樓
價格:498
房子圖片:https://image.xiaozhustatic1.com/00,800,533/18,0,40,7472,1800,1200,7046a662.jpg
主人照片:https://image.xiaozhustatic1.com/21/18,0,32,4781,329,329,f1df76d4.jpg
主人姓名:茉莉Fineday
主人性別:女
Process finished with exit code 0
謝謝支援,本人親測執行成功。