Как отформатировать URL-адрес HTML, который не имеет форматирования в Python ⇐ Html
-
Гость
Как отформатировать URL-адрес HTML, который не имеет форматирования в Python
Я создаю простой парсер, который будет обращаться к URL-адресу и извлекать информацию с этой страницы. Я точно знаю? Моя проблема в том, что когда я извлекаю информацию о странице, это не традиционный HTML-код с заголовками и форматированием. Это простой текст. Есть ли способ получить только определенные фрагменты информации? Я собирался попытаться экспортировать информацию о странице, затем прочитать ее и создать еще один текстовый файл, содержащий только те фрагменты, которые мне нужны!
Причина, по которой мне это нужно, заключается в том, что я пытаюсь получить более 13 000 идентификаторов предметов и организовать их в большой дамп идентификаторов! Я пытался преобразовать его в текстовый формат JSON, который обычно использует веб-сайт. Это Moviestarplanet2, мне поручили изучить эту игру.
Это мой код на данный момент (я знаю его основы!):
# Тест веб-скрейпера из bs4 импорт BeautifulSoup импортировать html_to_json импортировать JSON запросы на импорт время импорта ИДНум = 688 url = 'https://us.mspapis.com/shopinventory/v1/shops/listings/' + str(IDNum) страница = Requests.get(url) суп = BeautifulSoup(page.text, 'html.parser') печать (суп) Мне необходимо решить эту проблему как можно скорее, поскольку это основная функция этого парсера. Любые идеи и советы будут полезны! Я не разбираюсь в Python, но обычно довольно хорошо справляюсь. Заранее извините, если задам лишние или глупые вопросы.
Я пробовал использовать библиотеку HTML to Json, встроенную в json, гуглил добрых 2 часа и просто добавлял что-то, чтобы посмотреть, работает ли это. Я бы хотел научиться, а не копировать и вставлять это у кого-то другого, и понять, почему он делает то, что делает.
РЕДАКТИРОВАТЬ! Это данные, которые я пытаюсь отформатировать!
{'id': '688', 'item': {'id': '912', 'type': 'item', 'singlePurchase': True, 'objectSource': 'curatedcontentitemtemplates', 'objectId': '596', 'resourceIdentifiers': [{'type': 'name', 'key': 'Neutral'}, {'type': 'graphics', 'key': 'default'}], 'tags': [{'hidden': False, 'id': '62', 'resourceIdentifiers': [{'type': 'label', 'key': 'TAG_MOODS'}, {'type': 'graphics ', 'key': 'moods'}], 'type': 'category.animation', 'gameId': '5lxc'}, {'hidden': False, 'id': '85', 'resourceIdentifiers': [{'type': 'label', 'key': 'TAG_MOODS_BASIC'}, {'type': 'graphics', 'key': 'moods'}], 'type': 'subcategory.animation.62', 'gameId': '5lxc'}, {'скрытый': False, 'id': '168', 'resourceIdentifiers': [{'type': 'label', 'key': 'TAG_FREE'}, {'type ': 'graphics', 'key': 'free'}], 'type': 'category.artbooks', 'gameId': '5lxc', 'lookUpId': 'tag_free'}], 'lookUpId': 'f4b919d8 -15f9-4dae-964f-bd9262db0a5b', 'additionalData': {'NebulaData': {'DefaultColors': '#FFFFFF', 'Снимок': 'default_preview'}, 'MSP2Data': {'Loop': 'false' }}}, 'shopId': '8', 'price': {'currency': 'soft', 'salesPrice': 0.0, 'onSale': False}, 'lookUpId': '827e8ca7-60de-4d07-b0ae -61154d579b77'}
Я создаю простой парсер, который будет обращаться к URL-адресу и извлекать информацию с этой страницы. Я точно знаю? Моя проблема в том, что когда я извлекаю информацию о странице, это не традиционный HTML-код с заголовками и форматированием. Это простой текст. Есть ли способ получить только определенные фрагменты информации? Я собирался попытаться экспортировать информацию о странице, затем прочитать ее и создать еще один текстовый файл, содержащий только те фрагменты, которые мне нужны!
Причина, по которой мне это нужно, заключается в том, что я пытаюсь получить более 13 000 идентификаторов предметов и организовать их в большой дамп идентификаторов! Я пытался преобразовать его в текстовый формат JSON, который обычно использует веб-сайт. Это Moviestarplanet2, мне поручили изучить эту игру.
Это мой код на данный момент (я знаю его основы!):
# Тест веб-скрейпера из bs4 импорт BeautifulSoup импортировать html_to_json импортировать JSON запросы на импорт время импорта ИДНум = 688 url = 'https://us.mspapis.com/shopinventory/v1/shops/listings/' + str(IDNum) страница = Requests.get(url) суп = BeautifulSoup(page.text, 'html.parser') печать (суп) Мне необходимо решить эту проблему как можно скорее, поскольку это основная функция этого парсера. Любые идеи и советы будут полезны! Я не разбираюсь в Python, но обычно довольно хорошо справляюсь. Заранее извините, если задам лишние или глупые вопросы.
Я пробовал использовать библиотеку HTML to Json, встроенную в json, гуглил добрых 2 часа и просто добавлял что-то, чтобы посмотреть, работает ли это. Я бы хотел научиться, а не копировать и вставлять это у кого-то другого, и понять, почему он делает то, что делает.
РЕДАКТИРОВАТЬ! Это данные, которые я пытаюсь отформатировать!
{'id': '688', 'item': {'id': '912', 'type': 'item', 'singlePurchase': True, 'objectSource': 'curatedcontentitemtemplates', 'objectId': '596', 'resourceIdentifiers': [{'type': 'name', 'key': 'Neutral'}, {'type': 'graphics', 'key': 'default'}], 'tags': [{'hidden': False, 'id': '62', 'resourceIdentifiers': [{'type': 'label', 'key': 'TAG_MOODS'}, {'type': 'graphics ', 'key': 'moods'}], 'type': 'category.animation', 'gameId': '5lxc'}, {'hidden': False, 'id': '85', 'resourceIdentifiers': [{'type': 'label', 'key': 'TAG_MOODS_BASIC'}, {'type': 'graphics', 'key': 'moods'}], 'type': 'subcategory.animation.62', 'gameId': '5lxc'}, {'скрытый': False, 'id': '168', 'resourceIdentifiers': [{'type': 'label', 'key': 'TAG_FREE'}, {'type ': 'graphics', 'key': 'free'}], 'type': 'category.artbooks', 'gameId': '5lxc', 'lookUpId': 'tag_free'}], 'lookUpId': 'f4b919d8 -15f9-4dae-964f-bd9262db0a5b', 'additionalData': {'NebulaData': {'DefaultColors': '#FFFFFF', 'Снимок': 'default_preview'}, 'MSP2Data': {'Loop': 'false' }}}, 'shopId': '8', 'price': {'currency': 'soft', 'salesPrice': 0.0, 'onSale': False}, 'lookUpId': '827e8ca7-60de-4d07-b0ae -61154d579b77'}
Мобильная версия