用美汤从表单中提取隐藏值 [英] Extracting hidden values from a form with beautifulsoup

查看:30
本文介绍了用美汤从表单中提取隐藏值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试解析页面HTML响应,该响应如下(没有正确的HTML页面格式、头/正文.等):

    <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal"><img src=" /sites/all/themes/iprn_bootstrap/images/ico_close.png"></button>
        <h4 class="modal-title">Login</h4>
    </div>
    <div id="ajax-forms-messages"></div>
    <div class="modal-body"><form action="/user/signin?destination=user/signin" method="post" id="user-login-form" accept-charset="UTF-8"><div><div class="form-item form-item-name form-type-textfield form-group"><input placeholder="E-mail *" class="form-control form-text required" type="text" id="edit-name" name="name" value="" size="15" maxlength="60" /> <label class="control-label element-invisible" for="edit-name">E-mail <span class="form-required" title="This field is required.">*</span></label>
</div><div class="form-item form-item-pass form-type-password form-group"><input placeholder="Password *" class="form-control form-text required" type="password" id="edit-pass" name="pass" size="15" maxlength="128" /> <label class="control-label element-invisible" for="edit-pass">Password <span class="form-required" title="This field is required.">*</span></label>
</div><input type="hidden" name="form_build_id" value="form-lLpMWePGycFNEi-XgTGuRW-vy2lNBld-rtTYEKX7JHk" />
<input type="hidden" name="form_id" value="user_login_block" />
<div class="form-actions form-wrapper form-group" id="edit-actions"><button id="login-submit-btn" type="submit" name="op" value="Log in" class="btn btn-primary form-submit icon-before"><span class="icon glyphicon glyphicon-log-in" aria-hidden="true"></span>
 Log in</button>
</div><a href="/user/password" class="forget" title="Request new password">Forgot your password?</a>
    <div class="section white">Not registered? <a href="/user/registration" class="link-register">Register</a></div></div></form></div>

我正在尝试获取";隐藏";输入的值,但在处理BeautifulSoup时遇到了困难,因为我正在尝试:

soup.select_one('#form_build_id')['value']

但是,这没有起作用。

哪种更优雅的方法可以同时提取隐藏的&Quot;值&Quot;?

<input type="hidden" name="form_build_id" value="form-lLpMWePGycFNEi-XgTGuRW-vy2lNBld-rtTYEKX7JHk" />
<input type="hidden" name="form_id" value="user_login_block" />

推荐答案

只需搜索type="hidden"

...
soup = BeautifulSoup(html, "html.parser")

for tag in soup.find_all("input", type="hidden"):
    print(tag["value"])

输出:

form-lLpMWePGycFNEi-XgTGuRW-vy2lNBld-rtTYEKX7JHk
user_login_block

这篇关于用美汤从表单中提取隐藏值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆