class为p的div标签下有一个class为pct的标签,class为pct的div标签下有一个含title为123的h3标签,Python中如何通过css和attr()表达式获取该title的内容,用css.().get()
时间: 2024-03-01 18:55:22 浏览: 11
可以使用如下代码获取title的内容:
```
from bs4 import BeautifulSoup
html = '''
<div class="p">
<div class="pct">
<h3 title="123">Title Text</h3>
</div>
</div>
'''
soup = BeautifulSoup(html, 'html.parser')
title = soup.select_one('.p .pct h3[title="123"]').get('title')
print(title) # 输出123
```
其中,`select_one`方法使用CSS选择器来定位元素,`[title="123"]` 表示筛选出title属性值为123的元素,`get('title')` 则用于获取元素的title属性值。
相关问题
如何修改一个class名为right的div下所有a标签的样式
可以使用CSS选择器来修改class名为right的div下所有a标签的样式,具体的CSS代码如下:
.right a {
/* 在这里写入需要修改的样式 */
}
这段代码会选择所有在class名为right的div下的a标签,并将其样式修改为你所需要的样式。你需要将需要修改的样式写在大括号内。例如,如果你需要将a标签的颜色修改为红色,代码可以改写为:
.right a {
color: red;
}
class为p的div标签下有一个class为pct的标签,class为pct的div标签下有一个含title为123的h3标签,Python中如何通过css和attr()表达式获取该title的内容
在Python中,你可以使用BeautifulSoup库和CSS选择器来实现这个需求。具体代码如下:
```
from bs4 import BeautifulSoup
html = '''
<div class="p">
<div class="pct">
<h3 title="123">Title Text</h3>
</div>
</div>
'''
soup = BeautifulSoup(html, 'html.parser')
title = soup.select_one('div.p > div.pct > h3[title="123"]').get('title')
print(title)
```
这段代码会输出"h3"标签的"title"属性值"123"。其中,`select_one()`方法用于选择第一个匹配的元素,`get()`方法用于获取属性值。