在爬取‘’小豬短租‘’中戶主性別信息時,遇到需要對戶主性別進行判斷再return回相應性別的情況。
其中通過運用代碼一輕松獲取了性別數據(字符串)。總結比較
代碼一:genders= soup.select(' div.js_box.clearfix > div.member_pic > div')[0].get('class')[0] ? ??
代碼二:gender = soup.select(' div.js_box.clearfix > div.member_pic > div')
兩者的區別:
1、比較前首先要明白:select返回的對象是列表。soup.select('...>...')所獲取的是列表格式,即輸出來的格式為:[<...>]
names= soup.select('div.w_240 > h6 > a')
print(names)
結果:[<a class= “loeder_name” href ="http://www..../" target= "_blank" >strings</a>]
2.soup.select('...>...')[0]所獲取的是數據格式,即輸出格式為:<...>
gender= soup.select(' div.js_box.clearfix > div.member_pic > div')[0]
print(gender)
結果:<div class=“member_ico”></div>
3.更進一步的,對于數據格式<...>,我們可使用.get('屬性'),來獲取某一個確定信息。然而,即使是數據格式<...>,使用.get('屬性')獲取的結果格式仍為列表格式[...]。所以仍需改寫為.get('屬性')[0]才能獲取所需要的數據格式。
genders= soup.select(' div.js_box.clearfix > div.member_pic > div')[0].get('class')
print(genders)
gender = soup.select(' div.js_box.clearfix > div.member_pic > div')[0]
print(gender)
gen = gender.get('class')
print(gen)
ge =gender.get('class')[0]
print(ge)