【问题标题】:Extract a data value from page source using BeautifulSoup使用 BeautifulSoup 从页面源中提取数据值
【发布时间】:2017-10-14 12:22:01
【问题描述】:

当我查看页面源时,我尝试使用 BeautifulSoup 从站点中提取以下数据,但我无法使用汤找到它,因此我正在寻找一些指导。

当我查看源代码时,页面显示以下文本。

var = 'SynchronizerToken';
var = 'dd3a0c31e365c458d2d3e68e3c98f772bd2103eccf381';

我现在使用的代码是

SynchronizerToken = soup.find_all("VAR SYNCHRONIZER_TOKEN_VALUE")

不胜感激,再次感谢!

【问题讨论】:

    标签: python regex beautifulsoup


    【解决方案1】:

    使用正则表达式捕获组:

    var SYNCHRONIZER_TOKEN_VALUE = '(.+?)'
    

    ,您可以使用<MatchObject>.group(1)获取捕获的组


    import re
    
    html = '''
    var SYNCHRONIZER_TOKEN_NAME = 'SynchronizerToken';
    var SYNCHRONIZER_TOKEN_VALUE = 'dd3a0c31e365c458d2d3e68e3c98f772bd2103eccf38163e10ce039c2b70a61a';
    '''
    
    token = None
    matched = re.search(r"var SYNCHRONIZER_TOKEN_VALUE = '(.+?)'", html)
    if matched:
        token = matched.group(1)
    
    # token => 'dd3a0c31e365c458d2d3e68e3c98f772bd2103eccf38163e10ce039c2b70a61a'
    

    【讨论】:

      【解决方案2】:

      您可以使用以下正则表达式模式来查找所需的值:

      SYNCHRONIZER_TOKEN_VALUE = \'(.*?)\'
      

      Regex101

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-10-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-02
        • 1970-01-01
        相关资源
        最近更新 更多