首页 > 解决方案 > Python/BeautifulSoup - 如何将 html 代码分配给变量

问题描述

我如何将 html 代码分配给变量,以便以后可以引用它?

例子:

"div class='test'" - some html code



some_variable = "'div', {'class': ='test'}" *#assigning above to the variable*

print(soup.find(some_variable)) *# is not working*
print(soup.find('div', {"class": 'test'}) # **is working**

标签: pythonbeautifulsoup

解决方案


您可以将搜索参数存储在字典中,然后使用**

from bs4 import BeautifulSoup


html_doc = '''
<div class="test">This I want</div>
<div class="other">This I dont want</div>
'''

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

params = {'name': 'div', 'attrs': {'class': 'test'}}
    
print( soup.find(**params).text )

印刷:

This I want

或者:使用 CSS 选择器:

selector = 'div.test'

print( soup.select_one(selector).text )

推荐阅读