@Innaro

Как вытащить данные?

Подскажите, есть такой список
<html><head></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">[{"id":1,"name":"Склад 407","quantity":"0.0"},{"id":9,"name":"Литейка","quantity":"0.0"},{"id":16,"name":"СЛК - 407 каб.","quantity":"0.0"},{"id":18,"name":"СЛК - 521 каб. МКШ-96","quantity":"0.0"},{"id":19,"name":"СЛК - 524 каб.","quantity":"0.0"},{"id":20,"name":"СЛК - литейка","quantity":"0.0"},{"id":26,"name":"СЛК - Сборка Lifepad","quantity":"3.0"}]</pre></body></html>

и мне нужно вытащить данные виде
Склад 407 - 0.0
Литейка - 0.0
.....

и такие данные бывают разные
  • Вопрос задан
  • 84 просмотра
Пригласить эксперта
Ответы на вопрос 2
nki
@nki
bezkart.ru готовая система лояльности
Это типичный JSON. Как с ним работать - масса примеров в сети.
Ответ написан
Комментировать
@AVKor
import json
from bs4 import BeautifulSoup

DOC = '''
<html>
  <head></head>
  <body>
    <pre style="word-wrap: break-word; white-space: pre-wrap;">
      [
        {"id":1,"name":"Склад 407","quantity":"0.0"},
        {"id":9,"name":"Литейка","quantity":"0.0"},
        {"id":16,"name":"СЛК - 407 каб.","quantity":"0.0"},
        {"id":18,"name":"СЛК - 521 каб. МКШ-96","quantity":"0.0"},
        {"id":19,"name":"СЛК - 524 каб.","quantity":"0.0"},
        {"id":20,"name":"СЛК - литейка","quantity":"0.0"},
        {"id":26,"name":"СЛК - Сборка Lifepad","quantity":"3.0"}
      ]
    </pre>
  </body>
</html>
'''
soup = BeautifulSoup(DOC, 'lxml')
data = json.loads(soup.find('pre').text)
for item in data:
    print(f"{item['name']} - {item['quantity']}")
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
01 мая 2024, в 10:55
2500 руб./за проект
01 мая 2024, в 10:55
3000 руб./за проект
01 мая 2024, в 10:55
3000 руб./за проект