題圖來自日本攝影師RK鏡頭下的重慶
該項目參評了針對既有建筑節(jié)能的LEED O+M: Existing Buildings v3 認證雹锣,得分66分网沾,于2018年7月獲Gold(金級)認證。
LEED OM: EB從項目選址蕊爵、能效辉哥、材料、室內(nèi)環(huán)境等8個方面對參評項目加以評分攒射,總分110分醋旦,各評價指標評分子項得分之和若超過40分便可取得相應(yīng)等級的LEED認證。評價指標具體設(shè)置如下表所示会放。
評分項 | 設(shè)置得分 |
---|---|
Sustainable Sites(可持續(xù)性場地) | 26 |
Water Efficiency(節(jié)水增效) | 14 |
Energy & Atmosphere(能源與大氣) | 23 |
Material & Resources(材料與資源) | 10 |
Indoor Environmental Quality(室內(nèi)環(huán)境品質(zhì)) | 15 |
Innovation(創(chuàng)新與設(shè)計) | 6 |
Regional Priority Credits(因地制宜) | 4 |
Integrative Process Credits. (項目合作) | 2 |
40-49 | 50-59 | 60-79 | 80+ |
---|---|---|---|
Cerfified(認證級) | Silver(銀級) | Gold(金級) | Platinum(白金級) |
為爬取得分明細表的內(nèi)容饲齐,對該項目頁面加以分析可見,得分明細表位于類名為"sh-content plainlist"的ul項目下咧最。每行表單包括評分子項名稱捂人、相應(yīng)的描述御雕、具體分值三列。找出各列所對應(yīng)的XPath路徑后剩下的工作就比較簡單了滥搭。
代碼如下:
import pandas as pd
import requests
from lxml import etree
url = "https://www.usgbc.org/projects/green-demonstration-building"
res = requests.get(url, timeout=10)
html = etree.HTML(res.text)
table_list = html.xpath('//ul[@class="sh-content plainlist"]')
items = table_list[0].xpath('//strong/a[1]/text()')
items = [x.replace('\n','').strip() for x in items ] #替換文本中的\n字符
descript =table_list[0].xpath('//li/text()[2]')
descript = [str for str in descript if not str == '\n'] #刪去空字符
scores = table_list[0].xpath('//span[@class="num"]/text()')
scores = [x.replace('\n','') for x in scores ]
scoreboard = pd.DataFrame({'item': items ,
'descript': descript ,
'scores': scores })
運行代碼得到的結(jié)果酸纲。
從結(jié)果來看,XPath已將得分明細表完整無誤的解析瑟匆。通過split()命令還可方便的提取出第三列中'/'前的實際得分福青,‘/’后的是每個評價指標評分子項的滿分分值。對于后續(xù)的數(shù)據(jù)分析而言脓诡,關(guān)心的是本項目在每個評價指標上的實際得分无午,亦即上圖中分子位置上的數(shù)值。
有一點小小的遺憾是祝谚,項目頁面上的評分子項的得分格式并未完全統(tǒng)一宪迟。如“因地制宜”等評分子項中(上圖右側(cè)58-60),網(wǎng)頁中沒有該評分子項的設(shè)置分數(shù)交惯,而是只給出了本項目的得分次泽。 這一點也不是XPath的能力不足,而是網(wǎng)頁根本沒有給出席爽。
如果實在是想要保留評分規(guī)則中對于每個評價指標的設(shè)置分值的話意荤,可以查閱相應(yīng)的LEED 2009 for Existing Buildings: Operations & Maintenance 評分規(guī)則。該分值設(shè)置也可該項目的Scorecard.pdf文件獲得只锻,或許下步可考慮python解析Scorecard.pdf文件來獲取得分表玖像。