当前位置:  开发笔记 > 编程语言 > 正文

如何使用Beautiful Soup在<script>标签中提取字符串?

如何解决《如何使用BeautifulSoup在<script>标签中提取字符串?》经验,为你挑选了1个好方法。

在给定的.html页面中,我有一个脚本标记,如下所示:

     

如何使用Beautiful Soup提取电子邮件地址?



1> alecxe..:

要在@ Bob的答案中添加更多内容,并假设您还需要script在HTML中找到可能包含其他script标记的标记.

我们的想法是定义一个正则表达式,用于定位元素BeautifulSoup和提取email值:

import re

from bs4 import BeautifulSoup


data = """

    

"""
pattern = re.compile(r'\.val\("([^@]+@[^@]+\.[^@]+)"\);', re.MULTILINE | re.DOTALL)
soup = BeautifulSoup(data, "html.parser")

script = soup.find("script", text=pattern)
if script:
    match = pattern.search(script.text)
    if match:
        email = match.group(1)
        print(email)

印刷品:name@email.com.

这里我们使用一个简单的正则表达式来表示电子邮件地址,但我们可以更进一步,更严格地对待它,但我怀疑这对于这个问题几乎是必要的.

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有