python - 获取html标签内的所有子元素

Posted

技术标签:

【中文标题】python - 获取html标签内的所有子元素【英文标题】:python - get all child elements inside html tag 【发布时间】:2020-02-01 08:08:47 【问题描述】:
<body>
    <div>
        <p></p>
        <p></p>
        <p></p>
    </div>

    <main>
        <div>
            <p></p>
            <p></p>
            <p></p>
        </div>
   </main>

    <section>
        <article>
            <p></p>
            <p></p>
            <p></p>
            <p></p>
       </article>
</section>
</body>

我正在尝试查找具有最多子标签元素级别 1 的标签 输出:“文章”

基本上我试图在随机 URL 中找到内容最多的元素标签。

【问题讨论】:

您能否展示一下您目前正在尝试使用的代码? 【参考方案1】:

我能想到的最好的办法是让里面的内容最多的课程

def get_links_inside_url(url):

"""

"""

page = urlopen( url ).read()   #getting the whole html souorce raw (unclear)
soup = BeautifulSoup(page, "lxml") #getting the whole html souorce raw (clear)

d = 

classes = []
for element in soup.find_all(class_=True):
    classes.extend(element["class"])


for cls in classes:

    class_content = soup.body.find(attrs='class':cls)

    if class_content and ';' not in class_content.text and len(class_content.text) > 100:

        char_in_class = len(class_content.text)
        print(char_in_class)
        if cls not in d :
            d[cls] = char_in_class
        else:
            d[cls] += char_in_class


return d

【讨论】:

以上是关于python - 获取html标签内的所有子元素的主要内容,如果未能解决你的问题,请参考以下文章

jquery如何获取标签本生的文本内容,不获取本身子级元素及子级元素的内容

Python3 爬虫U11_BeautifulSoup4之select和CCS选择器提取元素

MUI框架如何获取当前标签的子标签

Python怎样获取XPath下的A标签的内容

JavaScript中,可以用元素的innerHTML直接添加子元素吗?

Python/BeautifulSoup - 如何从元素中删除所有标签?