|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
是使用bs4库的时候
i ='<div>1<small class="float-right text-muted" data-placement="top" data-toggle="tooltip" ><i class="fa fas fa-comments"></i> 0</small></div>
<div>2<small class="float-right text-muted" data-placement="top" data-toggle="tooltip"><i class="fa fas fa-comments"></i> 0</small></div>'
bs = BeautifulSoup(i,"lxml")
res = bs.find_all('div')
for i in res:
print(i.small)
这个为什么可以用 i 得到small啊???
如果换成 i.div 为什么就是None???
求求大佬解惑
- bs = BeautifulSoup(i,"lxml")
- print(bs.div) # 打印(筛选第一个div标签的内容),因此这样做只能找到第1个,加了'.'表示bs这个类的属性,筛选的是下一级标签
- res = bs.find_all('div') # 查找所有的div标签的内容,保存为列表,赋值给res
- print(res) # 打印res列表
- for i in res:
- print(i.small) # 遍历res列表,筛选res成员中的第一个small标签(同上,也是下一级标签),并打印内容
复制代码
这么解释你明白么?因此res列表成员(也就是循环中的i变量),是没有div这个下一级标签的
你再试试下面这个代码?
- bs = BeautifulSoup(i,"lxml")
- res = bs.find_all('small')
- for i in res:
- print(i)
复制代码
|
|