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

Python 具有相同类的div的beautifulsou打印属性值,python,selenium,web-scraping,beautifulsoup,Python,Selenium,Web Scraping,Beautifulsoup,下面的代码正在运行,它将在值之后打印文本= soup = BeautifulSoup(html, 'lxml') name = soup.find('input')['value'] print(name) 但是,页面上有多个div,它们都是同一个类。我尝试了findAll,但我遇到了错误,只能打印第一个字段值,即名称 请参阅所附的屏幕截图 您想在哪一天做出决定? 个人资料 名称 Sam测试2018年3月 地址和邮政编码 手机号码 12345678 电子邮件地址 test@test.c

下面的代码正在运行,它将在值之后打印文本=

soup = BeautifulSoup(html, 'lxml')

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

print(name)
但是,页面上有多个div,它们都是同一个类。我尝试了findAll,但我遇到了错误,只能打印第一个字段值,即名称

请参阅所附的屏幕截图

您想在哪一天做出决定?
个人资料
名称
Sam测试2018年3月
地址和邮政编码
手机号码
12345678
电子邮件地址
test@test.com
可能类似于:

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()])
从bs4导入美化组
html=“”
你想在什么时候做决定?
个人资料
名称
Sam测试2018年3月
地址和邮政编码
手机号码
12345678
电子邮件地址
test@test.com 
'''
soup=BeautifulSoup(html,“lxml”)
items=soup.select(“.controls”)
打印([item.text.strip()]用于items中的item,如果item.text.strip()]))

请通过使用代码片段工具包含HTML,而不是图像。此外,您显示的HTML没有可见的输入标记元素。我现在已将代码上载到代码段视图。您试图从该代码段中提取什么?您好,QHarr,我正在尝试获取名称、地址和邮政编码下字段中的值,手机号码等页面上有许多不同标签的字段,因此我正在尝试查找所有产生错误的字段,但当我运行查找代码时,它只会打印第一个标签,即名称。谢谢!我是否可以指定特定的字段,这样就可以只提取'Address and postcode'和'Name'等的值,为什么要这样做?如果html有固定的布局,您可以使用位置匹配来执行此操作,或者使用xpath查找特定字符串。