如何解决BeautifulSoup提取没有div的div文本
我很难从内部有div的div中提取文本(没有)。所以这里是:
<div style="width:100%">
<div class="status_p">
ACTIVE
</div>
Name
</div>
我想提取不包含具有ACTIVE的div的名称。每当我打印第一个div时,它总是为我提供ACTIVENAME
解决方法
您可以在bs4标签上使用children
属性,该属性为您提供标签中的所有子级。选择孩子之后,您可以获取孩子列表的最后一个元素
from bs4 import BeautifulSoup
html = """<div style="width:100%">
<div class="status_p">
ACTIVE
</div>
Name
</div>"""
soup = BeautifulSoup(html,"html.parser")
print(list(soup.find("div").children)[-1].strip())
输出:
Name
OR
您可以使用stripped_strings
print(list(soup.find("div").stripped_strings)[-1])
OR
您可以删除内部div并仅获取名称。
soup.find("div",class_="status_p").extract()
print(soup.find("div").get_text(strip=True))
,
我找到了解决方法并使用了
import React,{ Fragment } from 'react';
import {
AppBar,Toolbar,Typography,Button,Box,Avatar,Link,} from '@material-ui/core';
import IconButton from '@material-ui/core/Icon';
import { ArrowBack } from '@material-ui/icons';
import { makeStyles } from '@material-ui/core/styles';
const useStyles = makeStyles({
appbarStyle: {
fontStyle: 'oblique',},arrowbackStyle: {
color: '#8b0e3a',background: '#ffffff',typographyStyle: {
color: '#8b0e3a',womenLink: {
color: 'white',marginLeft: '10px',});
const NavigationBar = () => {
const classes = useStyles();
return (
<Fragment>
<Box>
<Avatar src='' alt='logo' />
</Box>
<Box component='nav'>
<AppBar position='static' className={classes.appbarStyle}>
<Toolbar>
<IconButton>
<ArrowBack className={classes.arrowbackStyle} />
</IconButton>
<Link className={classes.womenLink} href='#'>
link1
</Link>
<Typography
variant='h5'
className={classes.typographyStyle}
justify='center'
align='center'
>
Hello world
</Typography>
</Toolbar>
</AppBar>
</Box>
</Fragment>
);
};
export default NavigationBar;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。