я пытаюсь разобрать HTML документ, но BS4 не разобрать атрибут в определенный тег:BeautifulSoup 4 синтаксический атрибут ошибки
<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'}`
UPDATE: , если я попробую 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 анализатором, но результат тот же.
Спасибо за любые ответы.
EDIT: спасибо Аманде, но произошла ошибка в моем коде, я пытаюсь сохранить в tag.attrs
объект touple, потому что этот код переносит с bs3 на bs4! Спасибо.
Что вы пытаетесь разобрать или получить доступ в этом случае? – Amanda