Строка синтаксического анализа Beautiful Soup 4 - PullRequest
1 голос
/ 03 августа 2020

Как мне разобрать следующую строку с помощью BS4 и python3? Я хочу извлечь «BH» и «Bahrain».

<li><input class="checkboxSelect2" name="countries[]" type="checkbox" value="BH"/> Bahrain</li>

Я могу получить «Bahrain», но не могу получить «BH»

for l in allCountries.findAll("li"):
  print(l.value)
  print(l.text)

l.text вернет Бахрейн, но l.value недействителен и выдает ошибку.

1 Ответ

1 голос
/ 03 августа 2020

Я понял, как получить доступ к атрибутам. Мне нужно было сначала сделать

l.input

Затем мне нужно было вызвать атрибут

l.input.attrs['value']

Мой последний код для извлечения всех названий стран и сокращений стран

for l in allCountries.findAll("li"):
  try:
    print("Country: {0} ABR: {1}".format(l.text, l.input.attrs['value']))
  except:
    pass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...