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查找特定字符串。