【Python3 爬虫】U11_BeautifulSoup4之select和CCS选择器提取元素
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【Python3 爬虫】U11_BeautifulSoup4之select和CCS选择器提取元素,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3179字,纯文字阅读大概需要5分钟。
内容图文
![【Python3 爬虫】U11_BeautifulSoup4之select和CCS选择器提取元素](/upload/InfoBanner/zyjiaocheng/637/400a514d292b41e08165219e4c61f3f6.jpg)
目录
1.常用CSS选择器介绍
以下是一个包含常用类选择器的案例,在案例后有具体的选择器使用介绍
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
/*标签选择器*/
p{
background-color: pink;
}
/*类选择器*/
.h1Line{
background-color: greenyellow;
}
/*id选择器*/
#h2{
background-color: rosybrown;
}
/*定位直接子元素*/
#info > li{
background-color: orangered;
}
/*根据属性定位*/
input[name="username"]{
background-color: dodgerblue;
}
</style>
</head>
<body>
<div>
<p>我是第1行</p>
<p>我是第2行</p>
<p>我是第3行</p>
<p>我是第4行</p>
</div>
<div>
<h1 class="h1Line">我是标题1</h1>
</div>
<div>
<h2 id="h2">我是标题2</h2>
<h2 id="h2s">我是标题2的参照例子</h2>
</div>
<div id="info">
<li>姓名</li>
<li>年龄</li>
<li>身高</li>
<div>
<li>班级</li>
<li>教师</li>
<li>人数</li>
<em>asbas</em>
</div>
</div>
<form>
<input type="text" name="username"/>
<input type="password" name="password"/>
</form>
</body>
</html>
1.1 标签选择器
根据标签的名字选择。示例代码如下:
p{
background-color: pink;
}
1.2 类名选择器
根据类名选择,那么需要在类名前加一个点。示例代码如下:
.h1Line{
background-color: greenyellow;
}
1.3 id选择器
根据id选择,那么需要在id的前面加一个#号。示例代码如下:
#h2{
background-color: rosybrown;
}
1.4 查找子孙元素
查找子孙元素,那么在子孙元素直接有一个空格。示例代码如下:
#info li{
background-color: orangered;
}
1.5 查找直接子元素
查找直接子元素,那么要在父子元素中间有一个>
,示例代码如下:
#info > li{
background-color: orangered;
}
1.6 根据属性查找
根据属性的名字进行查找,那么应该先写标签名字,然后在括号中写属性的值。示例代码如下:
input[name="username"]{
background-color: dodgerblue;
}
2.实战演练:select和css选择器提取元素
下面使用到的"前程无忧"
对应的代码来自于【Python3 爬虫】U11_BeautifulSoup4库提取数据详解
2.1 获取所有的p标签
from bs4 import BeautifulSoup
html = "前程无忧"
soup = BeautifulSoup(html,'lxml')
ps = soup.select('p')
for p in ps:
print(p)
print('=' * 40)
2.2 获取第2个p标签
from bs4 import BeautifulSoup
html = "前程无忧"
soup = BeautifulSoup(html,'lxml')
p = soup.select('p')[1]
print(p)
2.3 获取所有class等于t3的span标签
from bs4 import BeautifulSoup
html = "前程无忧"
soup = BeautifulSoup(html,'lxml')
spans = soup.select(".t3") #也可以直接写spans = soup.select(".t3")
# 也可以写为:spans = soup.select("span[class='t3']")
for span in spans:
print(span)
2.4 获取class为t1的p标签下的所有a标签的href属性
from bs4 import BeautifulSoup
html = "前程无忧"
soup = BeautifulSoup(html,'lxml')
aList = soup.select("p.t1 a")
for a in aList:
href = a['href']
print(href)
2.5 获取所有的职位信息(文本)
from bs4 import BeautifulSoup
html = "前程无忧"
soup = BeautifulSoup(html,'lxml')
divs = soup.select('div')
infoSet = list()
for div in divs:
info = {}
infos = list(div.stripped_strings) # div.stripped_strings返回的是一个生成器
info['job'] = infos[0]
info['company'] = infos[1]
info['address'] = infos[2]
info['salary'] = infos[3]
info['ReleaseDate'] = infos[4]
infoSet.append(info)
print(infoSet)
内容总结
以上是互联网集市为您收集整理的【Python3 爬虫】U11_BeautifulSoup4之select和CCS选择器提取元素全部内容,希望文章能够帮你解决【Python3 爬虫】U11_BeautifulSoup4之select和CCS选择器提取元素所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。