Спарсить

Ответы (1 шт):

Автор решения: Daniil Loban
# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility

import re
import json

test_str = ("<script type=\"text/javascript\">\n"
    "var g_bIsTrading = true;\n\n"
    "var g_rgAppContextData = {\"730\":{\"appid\":730,\"name\":\"Counter-Strike: Global Offensive\",\"icon\":\"https:\\/\\/cdn.cloudflare.steamstatic.com\\/steamcommunity\\/public\\/images\\/apps\\/730\\/69f7ebe2735c366c65c0b33dae00e12dc40edbe4.jpg\",\"link\":\"https:\\/\\/steamcommunity.com\\/app\\/730\",\"asset_count\":205,\"inventory_logo\":\"https:\\/\\/cdn.cloudflare.steamstatic.com\\/steamcommunity\\/public\\/images\\/apps\\/730\\/3ab6e87a04994b900881f694284a75150e640536.png\",\"trade_permissions\":\"FULL\",\"load_failed\":0,\"store_vetted\":\"1\"},\"440\":{\"appid\":440,\"name\":\"Team Fortress 2\",\"icon\":\"https:\\/\\/cdn.cloudflare.steamstatic.com\\/steamcommunity\\/public\\/images\\/apps\\/440\\/e3f595a92552da3d664ad00277fad2107345f743.jpg\",\"link\":\"https:\\/\\/steamcommunity.com\\/app\\/440\",\"asset_count\":42,\"inventory_logo\":\"https:\\/\\/cdn.cloudflare.steamstatic.com\\/steamcommunity\\/public\\/images\\/apps\\/440\\/e613d1d46de26ea755105b898cc8830d305353f3.png\",\"trade_permissions\":\"FULL\",\"load_failed\":0,\"store_vetted\":\"1\"},\"570\":{\"appid\":570,\"name\":\"Dota 2\",\"icon\":\"https:\\/\\/cdn.cloudflare.steamstatic.com\\/steamcommunity\\/public\\/images\\/apps\\/570\\/0bbb630d63262dd66d2fdd0f7d37e8661a410075.jpg\",\"link\":\"https:\\/\\/steamcommunity.com\\/app\\/570\",\"asset_count\":41,\"inventory_logo\":\"https:\\/\\/cdn.cloudflare.steamstatic.com\\/steamcommunity\\/public\\/images\\/apps\\/570\\/910ef16cd7bf6c6986e78b3ad4eee7eaa5d26cc0.png\",\"trade_permissions\":\"FULL\",\"load_failed\":0,\"store_vetted\":\"1\"},\"753\":{\"appid\":753,\"name\":\"Steam\",\"icon\":\"https:\\/\\/cdn.cloudflare.steamstatic.com\\/steamcommunity\\/public\\/images\\/apps\\/753\\/135dc1ac1cd9763dfc8ad52f4e880d2ac058a36c.jpg\",\"link\":\"https:\\/\\/steamcommunity.com\\/app\\/753\",\"asset_count\":33,\"inventory_logo\":\"https:\\/\\/cdn.cloudflare.steamstatic.com\\/steamcommunity\\/public\\/images\\/apps\\/753\\/db8ca9e130b7b37685ab2229bf5a288aefc3f0fa.png\",\"trade_permissions\":\"FULL\",\"load_failed\":0,\"store_vetted\":\"1\"},\"238460\":{\"appid\":238460,\"name\":\"BattleBlock Theater\",\"icon\":\"https:\\/\\/cdn.cloudflare.steamstatic.com\\/steamcommunity\\/public\\/images\\/apps\\/238460\\/2f258aaff583d797812cdcf24830d5992f48733b.jpg\",\"link\":\"https:\\/\\/steamcommunity.com\\/app\\/238460\",\"asset_count\":16,\"inventory_logo\":\"https:\\/\\/cdn.cloudflare.steamstatic.com\\/steamcommunity\\/public\\/images\\/apps\\/238460\\/f2d5a4eb818eb7f7e67863f482ec6c24b44719ca.png\",\"trade_permissions\":\"FULL\",\"load_failed\":0,\"store_vetted\":\"1\"},\"252490\":{\"appid\":252490,\"name\":\"Rust\",\"icon\":\"https:\\/\\/cdn.cloudflare.steamstatic.com\\/steamcommunity\\/public\\/images\\/apps\\/252490\\/820be4782639f9c4b64fa3ca7e6c26a95ae4fd1c.jpg\",\"link\":\"https:\\/\\/steamcommunity.com\\/app\\/252490\",\"asset_count\":13,\"inventory_logo\":\"https:\\/\\/cdn.cloudflare.steamstatic.com\\/steamcommunity\\/public\\/images\\/apps\\/252490\\/71aa51e17ef25a5e6c24b08019eb5482bd02261a.png\",\"trade_permissions\":\"FULL\",\"load_failed\":0,\"store_vetted\":\"1\"},\"304930\":{\"appid\":304930,\"name\":\"Unturned\",\"icon\":\"https:\\/\\/cdn.cloudflare.steamstatic.com\\/steamcommunity\\/public\\/images\\/apps\\/304930\\/e18009fb628b35953826efe47dc3be556b689f4c.jpg\",\"link\":\"https:\\/\\/steamcommunity.com\\/app\\/304930\",\"asset_count\":7,\"inventory_logo\":\"https:\\/\\/cdn.cloudflare.steamstatic.com\\/steamcommunity\\/public\\/images\\/apps\\/304930\\/17928aac98b5ffdc25b092147f99792348322a1c.png\",\"trade_permissions\":\"FULL\",\"load_failed\":0,\"store_vetted\":\"1\"},\"361800\":{\"appid\":361800,\"name\":\"Tree of Life\",\"icon\":\"https:\\/\\/cdn.cloudflare.steamstatic.com\\/steamcommunity\\/public\\/images\\/apps\\/361800\\/e1d0f5a2acc968d7a7a38943ed613b872d6f9939.jpg\",\"link\":\"https:\\/\\/steamcommunity.com\\/app\\/361800\",\"asset_count\":0,\"trade_permissions\":\"FULL\",\"load_failed\":0,\"store_vetted\":\"1\"},\"433850\":{\"appid\":433850,\"name\":\"Z1 Battle Royale\",\"icon\":\"https:\\/\\/cdn.cloudflare.steamstatic.com\\/steamcommunity\\/public\\/images\\/apps\\/433850\\/aee7491abfd812e2fbb4ec3326ad5f4b85c8137a.jpg\",\"link\":\"https:\\/\\/steamcommunity.com\\/app\\/433850\",\"asset_count\":0,\"inventory_logo\":\"https:\\/\\/cdn.cloudflare.steamstatic.com\\/steamcommunity\\/public\\/images\\/apps\\/433850\\/223c73339eded0354dccfeba6711c4844abaae2b.png\",\"trade_permissions\":\"FULL\",\"load_failed\":0,\"store_vetted\":\"1\"},\"578080\":{\"appid\":578080,\"name\":\"PLAYERUNKNOWN'S BATTLEGROUNDS\",\"icon\":\"https:\\/\\/cdn.cloudflare.steamstatic.com\\/steamcommunity\\/public\\/images\\/apps\\/578080\\/93d896e7d7a42ae35c1d77239430e1d90bc82cae.jpg\",\"link\":\"https:\\/\\/steamcommunity.com\\/app\\/578080\",\"asset_count\":0,\"trade_permissions\":\"FULL\",\"load_failed\":0,\"store_vetted\":\"1\"}};\n"
    "var g_rgWalletInfo = {\"wallet_currency\":18,\"wallet_country\":\"UA\",\"wallet_state\":\"\",\"wallet_fee\":\"1\",\"wallet_fee_minimum\":\"1\",\"wallet_fee_percent\":\"0.05\",\"wallet_publisher_fee_percent_default\":\"0.10\",\"wallet_fee_base\":\"0\",\"wallet_other_currency\":5,\"wallet_other_country\":\"RU\",\"wallet_fee_base_for_other\":\"0\",\"wallet_conversion_rate\":\"2.618633\",\"wallet_inverse_conversion_rate\":\"0.381879\",\"wallet_balance\":\"18916\",\"wallet_delayed_balance\":\"0\",\"wallet_max_balance\":\"4800000\",\"wallet_trade_max_balance\":\"4320000\",\"success\":true};\n"
    "UserYou.LoadContexts( g_rgAppContextData );\n"
    "var oItem;\n"
    "    oItem = {\"id\":\"3302792950975287239\",\"owner\":\"76561198846525949\",\"amount\":\"1\",\"classid\":\"1129415388\",\"instanceid\":\"0\",\"icon_url\":\"6TMcQ7eX6E0EZl2byXi7vaVKyDk_zQLX05x6eLCFM9neAckxGDf7qU2e2gu64OnAeQ7835Je5GLDfCk4nReh8DEiv5dROq8-q7c2Qv5bKM0qVQ\",\"icon_url_large\":\"6TMcQ7eX6E0EZl2byXi7vaVKyDk_zQLX05x6eLCFM9neAckxGDf7qU2e2gu64OnAeQ7835Je5GLDfDY0jhyo8DEiv5dROq8-q7c2Qv7B0EpJxA\",\"icon_drag_url\":\"\",\"name\":\"Orange Longsleeve T-Shirt\",\"market_hash_name\":\"Orange Longsleeve T-Shirt\",\"market_name\":\"Orange Longsleeve T-Shirt\",\"name_color\":\"a7ec2e\",\"background_color\":\"42413e\",\"type\":\"\",\"tradable\":1,\"marketable\":1,\"commodity\":1,\"market_tradable_restriction\":\"7\",\"market_marketable_restriction\":\"7\",\"descriptions\":[{\"type\":\"html\",\"value\":\"This is like a normal tshirt, but it has sleeves that extend to your wrists.<br><br><span style=\\\"color: #FF9800\\\">This is a skin for the <span style=\\\"color: #ffdba5\\\">Longsleeve T-Shirt<\\/span> item. You will be able to apply this skin at a repair bench or when you craft the item in game.<\\/span><br><br><span style=\\\"color: #5098ce\\\">Breaks down into <span style=\\\"color: #ffffff\\\">1 x Cloth<\\/span><\\/span>\"}],\"tags\":[{\"category\":\"itemclass\",\"internal_name\":\"tshirt.long\",\"category_name\":\"Item Type\",\"name\":\"Long TShirt\"},{\"category\":\"steamcat\",\"internal_name\":\"steamcat.clothing\",\"category_name\":\"Category\",\"name\":\"Clothing\"}],\"pos\":1,\"appid\":252490,\"contextid\":2};\n"
    "    oItem.appid = 252490;\n"
    "    oItem.contextid = 2;\n"
    "    oItem.amount = 1;\n"
    "    oItem.is_stackable = oItem.amount > 1;\n"
    "    BuildHover( 'item0', oItem, UserYou );\n"
    "    $('item0').show();\n"
    "</script")



regex = r"oItem = (.*);$"
matches = re.search(regex, test_str, re.MULTILINE)
data=matches.group(1)
loaded_json = json.loads(data)
print(loaded_json['id'])
→ Ссылка