与Select / Option和findAll的奇怪交互

时间:2018-04-13 03:53:10

标签: python beautifulsoup

我一直试图从某些HTML中提取数据,但我一直在努力寻找这种选择/选项的解决方案。

<select name = "Name1">    
<option>String1
<option>String2
<option>String3
<option>String4
<option>String5
<option>String6
</option></option></option></option></option></option></select>

到目前为止我尝试过的所有内容都会返回一个空数组或一个包含不同数量</option> s的大数组

如果可能,我希望它返回

[String1, String2, String3, String4, String5, String6]

1 个答案:

答案 0 :(得分:0)

代码:

from bs4 import BeautifulSoup

data = '''
<select name = "Name1">    
<option>String1
<option>String2
<option>String3
<option>String4
<option>String5
<option>String6
</option></option></option></option></option></option></select>
'''

soup = BeautifulSoup(data, 'html.parser')
for i in soup.find_all('option'):
    print(str(i.text).split('\n')[:-1])
    break

输出:

['String1', 'String2', 'String3', 'String4', 'String5', 'String6']