一、CSS选择器的作用:
CSS选择器可以得到多个节点,前面讲的节点选择器只能获得第一个满足条件的节点。
二、实例代码演示:
1、.表示class节点为item的所有节点
2、#表示id节点的值为myli的所有节点
3、获取的列表可以使用for循环读取其中的每个元素
from bs4 import BeautifulSoup
html = '''
<html>
<head>
<meta charset="UTF-8">
<title>Beautiful Soup演示</title>
</head>
<body>
<div>
<ul>
<li class="item" value1="1234" value2 = "hello world"><a href="https://geekori.com"> geekori.com</a></li>
<li class="item"><a href="https://www.jd.com"> 京东商城</a></li>
<li id='myli' class="item3"><a href="https://www.taobao.com">淘宝</a></li>
<li class="item4" ><a href="https://www.microsoft.com">微软</a></li>
<li class="item5"><a href="https://www.google.com">谷歌</a></li>
</ul>
</div>
</body>
</html>
'''
soup = BeautifulSoup(html, 'lxml')
tags = soup.select('.item') # .表示class节点为item的所有节点
print(tags)
for tag in tags:
print(tag)
print()
tags = soup.select('#myli') # #表示id节点值为myli的所有节点
print(tags)
print()
tags = soup.select('a')
for tag in tags:
print(tag)
print(tag['href'])
print(tag.text)
执行结果如下图: