在BeautifulSoup的select_one中使用正则表达式

时间:2019-06-11 13:46:59

标签: beautifulsoup

我已经在该网站上阅读了一些答案,这些答案描述了在BeautifulSoup中使用reg ex进行“查找”查询。但是,对于使用正则表达式以及在使用“ select_one”时对多个标签进行查询的答案还不清楚。

具体来说,我有两个标签,如下所示。

'#CommitYear14'
'#CommitYear12'

所以我只需要一个查询来查找与“ #CommitYear”匹配的查询。

我现在的查询是

college_info = beautiful_soup_parsing.select_one(tag)

其中标记为“#CommitYear14”或“#CommitYear12”。我不知道如何同时获得14和12。

1 个答案:

答案 0 :(得分:0)

函数select_one()用于应用CSS选择器,不能与re一起使用。但是,您可以使用CSS选择器^=来选择属性值以所选字符串开头的元素(以供CSS选择器look at this参考):

data = '''
<div id="CommitYear12">CommitYear12</div>
<div id="CommitYear14">CommitYear14</div>'''

from bs4 import BeautifulSoup

soup = BeautifulSoup(data, 'lxml')

print(soup.select_one('[id^="CommitYear"]'))

打印:

<div id="CommitYear12">CommitYear12</div>