蟒蛇BeautifulSoup得到select.value不是文本 [英] python BeautifulSoup get select.value not text

查看:309
本文介绍了蟒蛇BeautifulSoup得到select.value不是文本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

<select>
  <option value="0">2002/12</option>
  <option value="1">2003/12</option>
  <option value="2">2004/12</option>
  <option value="3">2005/12</option>
  <option value="4">2006/12</option>
  <option value="5" selected>2007/12</option>
</select>

本code,我需要值为 0 不是文本为'2002/12'

我试了很多BS4选项, .stripped_strings .strip() .contents 的get()

I tried a lot of BS4 options, .stripped_strings, .strip(), .contents, get(), etc.

我怎样才能获得价值而不是文本?

How I can get values not text?

推荐答案

您想要的属性的;访问标签属性使用映射语法:

You want the value attribute; access tag attributes using mapping syntax:

option['value']

演示:

>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup('''\
... <select>
...   <option value="0">2002/12</option>
...   <option value="1">2003/12</option>
...   <option value="2">2004/12</option>
...   <option value="3">2005/12</option>
...   <option value="4">2006/12</option>
...   <option value="5" selected>2007/12</option>
... </select>
... ''')
>>> for option in soup.find_all('option'):
...     print 'value: {}, text: {}'.format(option['value'], option.text)
... 
value: 0, text: 2002/12
value: 1, text: 2003/12
value: 2, text: 2004/12
value: 3, text: 2005/12
value: 4, text: 2006/12
value: 5, text: 2007/12

这篇关于蟒蛇BeautifulSoup得到select.value不是文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆