2017-07-18 8 views
1

私は美しいスープ(bs4)を使用して属性としてリストされた値を分離しようとしています。私は出力を列挙しましたが、文字列形式の "value"から文字列を取得する方法がわかりません。bs4/beautifulSoupの属性を分離する

import requests 
from bs4 import BeautifulSoup as bs 

html = """ 
<div class="buttons"> 
    <form method="POST" action="/1/token/approve"> 
     <a class="button primary" href="/login?returnUrl=%2F1%2Fauthorize%3FrequestKey%3Df079a57f7157bf084676c5a9c3d0443e">Log in</a> 
     <input type="submit" class="deny" value="Deny"> 

     <input type="hidden" name="requestKey" value="f079a57f7157bf084676c5a9c3d0443e"> 

     <!-- Need to pull this value --> 
     <input type="hidden" name="signature" value="1500374930141/76d6e6bf4e95732eece754cc00315a242db0ffcf2758052c1fd64f2e6024611b"> 

    </form> 
</div> 
""" 

#pull web page 
f = requests.get(html) 

# pass HTML to soup 
soup = bs(f.text, "lxml") 
bsIn = soup.find('input', attrs={'name':'signature'}) 

print (bsIn) # returns <input name="signature" type="hidden" value="1500387161323/9a240ffc8dfff875bc272f0defba27e58f4ffd8e7a29d00edc3528776bca3039"/> 

答えて

0

あなたは、HTML/XMLのように、インデックスを通じて美しいスープの属性入手することができます。これは、このように文字列を出力します

print(bsIn['value'])

'1500387161323/9a240ffc8dfff875bc272f0defba27e58f4ffd8e7a29d00edc3528776bca3039' 

それは次のように印刷されます:

1500387161323/9a240ffc8dfff875bc272f0defba27e58f4ffd8e7a29d00edc3528776bca3039 
関連する問題