在爬取‘’小猪短租‘’中户主性别信息时,遇到需要对户主性别进行判断再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)