【发布时间】:2012-12-14 10:28:19
【问题描述】:
我正在尝试解析 HTML 文档,但 bs4 无法解析特定标签中的属性:
<select class="inputNormal" id="TipoImmobileDaNonImportare" name="TipoImmobileDaNonImportare" style="width:100%">
<option value=""></option>
<option value="unità immobiliare urbana">unità immobiliare urbana</option>
<option value="particella terreni">particella terreni</option>
</select>
当我打印时,错误
AttributeError: 'tuple' object has no attribute 'items'`
the tag and attribute i print:`select: (u'style', u'class', u'name')`
instead of (for example): `input: {u'type': u'hidden', u'name': u'Immobile_Note', u'value': u'Ubicazione occupazione', u'id': u'Immobile_Note'}`
更新:
如果我尝试soup.find_all( attrs= {'id' : 'somevalue' } ) 它会失败,因为尝试访问树的所有属性!
如果我尝试:
s = BeautifulSoup( """<select class="inputNormal" id="TipoImmobileDaNonImportare" name="TipoImmobileDaNonImportare" style="width:100%">
<option value=""></option>
<option value="unità immobiliare urbana">unità immobiliare urbana</option>
<option value="particella terreni">particella terreni</option>
</select>""")
解析器正确检测到:
select: {'id': 'TipoImmobileDaNonImportare', 'style': 'width:100%', 'class': ['inputNormal'], 'name': 'TipoImmobileDaNonImportare'}
我尝试用lxml解析器和html5lib解析器解析,结果是一样的。
感谢您的任何回复。
编辑:
感谢 Amanda,但我的代码中有错误,我尝试在 tag.attrs 中存储一个 touple 对象,因为此代码正在从 bs3 移植到 bs4!
谢谢。
【问题讨论】:
-
在这种情况下您要解析或访问什么?
标签: python beautifulsoup