AttributeError: Объект ResultSet не имеет атрибута get_text. Вы, вероятно, рассматриваете список элементов как один элемент - PullRequest
0 голосов
/ 09 марта 2020

Я получил следующий список списков при разборе с помощью Bs4 через фрагмент:

details = [i.find_all('span', {'class':re.compile('item')}) for i in cars]
[[<span class="item">Red <small>col.</small></span>,
  <span class="item">120 <small>cc.</small></span>,
  <span class="item">Available <small>in four days</small></span>,
  <span class="item"><small class="txt-highlight-red">15 min</small></span>],
 [<span class="item">Blue <small>col.</small></span>,
  <span class="item">200 <small>cc.</small></span>,
  <span class="item">Available <small>in a week</small></span>,
  <span class="item">04 mar <small></small></span>],
 [<span class="item">Green <small>col.</small></span>,
  <span class="item">Available <small>immediately</small></span>,
  <span class="item"><small class="txt-highlight-red">2 hours</small></span>]]

Дело в том, что не каждый вложенный список имеет одинаковое содержимое и одинаковую длину, поэтому я Я не хочу упростить получение текста в единственном списке.

Я пробовал этот код:

bobo = []
for detail in details:
    for i in detail:
        bobo.append(i.text)

Но, как я уже сказал, выдает следующий вывод:

[Red col., 120 cc., Available in four days, 15 min., Blue col., 200 cc., Available in a week, 04 mar , Green col., Available immediately, 2 hours]

При ожидаемом выходе:

[[Red col., 120 cc., Available in four days, 15 min.],
[Blue col., 200 cc., Available in a week, 04 mar ],
[Green col., Available immediately, 2 hours]]

Любая помощь?

1 Ответ

1 голос
/ 09 марта 2020

попробуйте

bobo = []
for detail in details:
    result = []
    for i in detail:
        result.append(i.text)
    bobo.append(result)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...