要从标签中提取信息,可以使用正则表达式或者使用
BeautifulSoup
库的find_all
方法结合正则表达式来实现。
以下是使用BeautifulSoup
库的示例代码:
from bs4 import BeautifulSoup
import re
html = '''
This is a paragraph.
'''
soup = BeautifulSoup(html, 'html.parser')
# 使用正则表达式匹配script标签的内容
script_tags = soup.find_all('script', attrs={'type': 'text/javascript'})
for script_tag in script_tags:
script_content = script_tag.string
if script_content:
# 在这里可以对script_content进行处理
print(script_content)
运行以上代码,将输出var data = "Hello, World!";
。
这里使用find_all
方法找到所有标签,并通过
attrs
参数指定type
属性为text/javascript
。然后通过script_tag.string
获取标签的内容。注意,在使用string
属性之前,需要判断script_content
是否存在,因为有些标签可能是空的或者包含其他子元素。
如果要进一步解析script
标签中的内容,可以使用正则表达式来提取所需的信息。例如,可以使用re
模块的findall
方法来提取JavaScript变量的值:
import re
script_content = 'var data = "Hello, World!";'
match = re.findall(r'var data = "(.*?)";', script_content)
if match:
variable_value = match[0]
print(variable_value)
运行以上代码,将输出Hello, World!
。注意,这里使用findall
方法和正则表达式r'var data = "(.*?)";'
来匹配var data = "Hello, World!";
中的变量值。