具有相同类的div的Beautifulsoup打印属性值

2024-10-02 16:34:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经有了下面的代码,它将在value=

soup = BeautifulSoup(html, 'lxml')

name = soup.find('input')['value']

print(name)

但是,该页有多个div与同一个类我尝试findAll,但我得到错误,只能打印第一个字段值,即名称

请参阅所附的屏幕截图

Browser Capture

<div class="control-group"><label class="control-label required" for="client_appbundle_prospecttype_ProspectFirstContact_decision_timeframe">What date do you want to make a decision?</label> <div class="controls"><input type="text" id="client_appbundle_prospecttype_ProspectFirstContact_decision_timeframe" name="client_appbundle_prospecttype[ProspectFirstContact][decision_timeframe]" required="required" class="input-small text-bound datepicker hasDatepicker"></div> </div> </div> </div> </div> </div> <div class="tab-pane active" id="prospect_consultation"> <div class="widget row-fluid"> <div class="span12"> <div class="navbar"> <div class="navbar-inner"> <h6>Personal details</h6> </div> </div> <div class="well"> <div class="control-group"> <label class="control-label">Name</label> <div class="controls"> Sam Test-March 2018 </div> </div> <div class="control-group"> <label class="control-label">Address and postcode</label> <div class="controls"> </div> </div> <div class="control-group"> <label class="control-label">Mobile number</label> <div class="controls"> 12345678 </div> </div> <div class="control-group"> <label class="control-label">Email address</label> <div class="controls"> test@test.com </div> </div>

谢谢


Tags: namedivclientinputgrouprequiredlabelcontrol
1条回答
网友
1楼 · 发布于 2024-10-02 16:34:51

可能是这样的:

from bs4 import BeautifulSoup
html = '''
<html>
 <head></head>
 <body>
  <div class="control-group">
   <label class="control-label required" for="client_appbundle_prospecttype_ProspectFirstContact_decision_timeframe">What date do you want to make a decision?</label>
   <div class="controls">
    <input type="text" id="client_appbundle_prospecttype_ProspectFirstContact_decision_timeframe" name="client_appbundle_prospecttype[ProspectFirstContact][decision_timeframe]" required class="input-small text-bound datepicker hasDatepicker">
   </div>
  </div>     
  <div class="tab-pane active" id="prospect_consultation"> 
   <div class="widget row-fluid"> 
    <div class="span12"> 
     <div class="navbar"> 
      <div class="navbar-inner"> 
       <h6>Personal details</h6> 
      </div> 
     </div> 
     <div class="well"> 
      <div class="control-group"> 
       <label class="control-label">Name</label> 
       <div class="controls">
         Sam Test-March 2018 
       </div> 
      </div> 
      <div class="control-group"> 
       <label class="control-label">Address and postcode</label> 
       <div class="controls"> 
       </div> 
      </div> 
      <div class="control-group"> 
       <label class="control-label">Mobile number</label> 
       <div class="controls">
         12345678 
       </div> 
      </div> 
      <div class="control-group"> 
       <label class="control-label">Email address</label> 
       <div class="controls">
         test@test.com 
       </div> 
      </div>
     </div>
    </div>
   </div>
  </div>
 </body>
</html>
'''
soup = BeautifulSoup(html, "lxml")

items = soup.select('.controls')
print([item.text.strip() for item in items if item.text.strip()])

相关问题 更多 >