Извлечение определенных значений из строки с BeautifulSoup - PullRequest
0 голосов
/ 30 ноября 2018

для школьного курса мы изучаем продвинутый Python, чтобы получить первое представление о веб-очистке и подобных вещах ... У меня есть упражнение, которое нужно сделать, где я должен извлечь значения v1, v2 из следующей строкиHTML ... Я попытался поискать, но не смог найти какие-то действительно специфические вещи .... Если он не используется для SO, просто удалите его ....

Часть HTML

{"v1":"first","ex":"first_soup","foo":"0","doo":"0","v1":["second"]}

поэтому после этого, когда я хочу показать значения, они должны выглядеть следующим образом:

print(v1)
first
print(v2)
second

Я пытался получить значения, просто разрезая всю строку следующим образом:

v1=htmltext[7,12]
v2=htmltext[60,66]

, но вв этом случае я не использую модуль bs4, который рекомендуется использовать ... Я был бы очень признателен, если бы кто-то мог научить меня ...

1 Ответ

0 голосов
/ 30 ноября 2018

То, что вы видите, это не HTML-файл, а JSON.В этом случае нет смысла использовать HTML-парсер BeautifulSoup, для этого вы можете использовать стандартную библиотеку JSON , например, так:

import json
json_Dict=json.loads(str(soup))

Затем вы можете проиндексировать его, используязаголовки (или ключи)

json_Dict["v1"]
>>>"first"
...