Python beautifulsoup 选择器 select 选择<meta/>等不需要成对结尾标签未写‘/’

一些不需要成对的标签<meta/> <img/>d等使用bs4的css选择器时出现的情况;

选择某一标签,输出内容超出范围过多

from bs4 import BeautifulSoup

soup = BeautifulSoup(html,'html.parser')

print(soup.select('html > meta'))

 

html = '

<META content="" name="description">

<link type="text/css" rel="stylesheet" href="http://img00.zhaopin.cn/2012/css/reset.min.css" />'

若<meta/>的/未写,

此时实际上

html ='

<META content="" name="description">

<link type="text/css" rel="stylesheet" href="http://img00.zhaopin.cn/2012/css/reset.min.css" /></meta>'

会输出多余的内容;

作用范围:

如print(soup.select('html > head > meta'))

html = '<head>

    <META content="" name="description">

    <link type="text/css" rel="stylesheet" href="http://img00.zhaopin.cn/2012/css/reset.min.css" />

    </meta></head>

    <body>

    xxxx

    </body>

'

</meta>会加到上一级,父节点的结尾。

 

其他标签的结尾未写如<a></a>写成了<a>此时也会出现相同的状况

 

posted @ 2017-08-09 17:46  曙暮之光  阅读(1266)  评论(0编辑  收藏  举报