如何从" txt"中提取选择的值数据
从标签下方我期待" 440615000102-两轮/三轮摩托车"
txt = '[<select class="bg21" name="cyfbh" style="WIDTH: 100%"><option value=""></option> <option value="440615000101">440615000101-passenger car</option> <option selected="" value="440615000102">440615000102-two/three wheeled motorcycle</option></select>]'
datatag =str(txt)
print datatag
soup = BeautifulSoup(datatag,'lxml')
text_area = soup.find('option', {'selected':'selected'} )
print text_area
当我尝试上面的代码时,我得到了无
答案 0 :(得分:1)
尝试.text
喜欢:
text_area = soup.find('option', {'selected':'selected'} ).text
修改强>
我犯了一个错误,即没有运行代码,并假设在查找中没有错误。无论如何,下面的代码运行并且有效。
from bs4 import BeautifulSoup
txt = '[<select class="bg21" name="cyfbh" style="WIDTH: 100%"><option value=""></option> <option value="440615000101">440615000101-passenger car</option> <option selected="" value="440615000102">440615000102-two/three wheeled motorcycle</option></select>]'
soup = BeautifulSoup(txt,'html.parser')
text_area = soup.find('option', {'value':'440615000102'}).text
print(text_area)
我使用了python标准解析器“html.parser”,根据this,与lxml的区别在于它的速度。
<强> O / P:强> output
答案 1 :(得分:0)
text_area = soup.find(lambda tag: tag.name=='option' and tag.has_attr('selected') )
出:
440615000102-two/three wheeled motorcycle
使用has_attr
查找代码,代码的selected
值为''
,空字符串,BS4无法使用以下内容找到:
soup.find('option', {'selected':''} )