首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何只选择具有类似ID的DIV

如何只选择具有类似ID的DIV
EN

Stack Overflow用户
提问于 2014-11-07 03:10:18
回答 2查看 71关注 0票数 1

我正在解析一个设计不佳的网页,使用漂亮的汤。

目前,我需要的是选择网页上的注释部分,但是每个评论都被看作是一个DIV,每个注释都有一个ID,类似于"IAMCOMMENT_00001“,但仅此而已。没有课(这会有很大帮助)。

因此,我不得不搜索所有以"IAMCOMMENT“开头的DIVs,但我不知道如何做到这一点。我能找到的最接近的是SoupStrainer,但我甚至不知道如何使用它。

我怎样才能做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-07 04:43:40

如果要解析表单注释,首先需要找到html的注释。这样做的一种方法是:

代码语言:javascript
复制
import re
from bs4 import BeautifulSoup, Comment

soup = BeautifulSoup(myhtml)
comments = soup.find_all(text=lambda text: isinstance(text, Comment))

要在评论中找到div

代码语言:javascript
复制
for comment in comments:
    cmnt_soup = BeautifulSoup(comment)
    divs = cmnt_soup.find_all('div', attrs={"id": re.compile(r'IAMCOMMENT_\d+')})

    # do things with the divs
票数 0
EN

Stack Overflow用户

发布于 2014-11-07 03:20:35

我将使用内置于BeautifulSoup's函数中的find_all

代码语言:javascript
复制
from bs4 import BeautifulSoup
soup = BeautifulSoup(yourhtml)
soup.find_all('div', id_=re.compile('IAMCOMMENT_'))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26793393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档