【发布时间】:2018-12-16 10:34:24
【问题描述】:
所以我一直在尝试一个一个地抓取一个值,这意味着我使用一个 for 循环来抓取一个选定的类,然后尝试逐项打印出来。 HTML 正在寻找:
我试图做的是以下代码:
select_tags = bs4.find_all('select', {'autocomplete': 'off'})
test = []
for select_tag in select_tags:
if select_tag.select("option.disabled.ReminderRevealButton"):
continue
else:
print(select_tag)
test.append(select_tag.text)
我得到的输出是:
['\nPlease select number\n\n (Number 1) \n\n (Number 2) \n\n (Number 3) \n\n (Number 4) \n\n (Number 5) \n\n (Number 6) \n\n (Number 7) \n\n (Number 7) \n\n (Number 8) \n\n (Number 9) \n\n (Number 10) \n\n (Number 11) \n']}
这确实会打印出名称。然而问题是它以一行的形式打印出来,而不是(HTML代码中的数字)一一打印出来。
我需要做什么才能解决问题,以便它一一打印数字 1,2,3,4,5..?
【问题讨论】:
-
你真的想要
select > option:not(.disabled.ReminderRevealButton) -
糟糕!那是一个我也没有注意到的错误!谢谢@hjpotter92 - 但是如果我可能会问,你建议我改变什么?
标签: python beautifulsoup