Собрать данные из тега скрипта с помощью BeautifulSoup

Я нуб с библиотекой python beautifoulsoup, и я пытаюсь очистить данные с веб-сайта. я обнаружил, что все данные, которые мне нужны, находятся в теге скрипта, однако я не знаю, как их очистить (см. прикрепленное изображение). Есть ли способ получить данные из этого тега скрипта с помощью python beautifulsoup? скрипт


person Mellic    schedule 07.07.2020    source источник
comment
Можете ли вы поделиться URL?   -  person Andrej Kesely    schedule 07.07.2020
comment
180.232.125.102 Здравствуйте, вот адрес. Мне действительно нужно получить данные из диаграммы системного спроса и LWAP с помощью python.   -  person Mellic    schedule 08.07.2020


Ответы (2)


Этот скрипт получит все переменные, которые есть в графиках:

import json
import requests


url = 'http://180.232.125.102/'
html_data = requests.get(url).text

out = {}
for k, v in re.findall(r'var ((?:system|luzon|visayas).*?)\s+= (\[.*?\]);', html_data):
    out[k] = json.loads(v)

# the data is in variable `out`, now just pretty print it to screen:
print(json.dumps(out, indent=4))

Отпечатки:

{
    "systemDemandVal": [
        10182.3,
        9911.2,
        9519.3,
        9302.5,
        9157.1,
        8948.4,
        9093.4,
        9995.2,
        10828.2,
        11391.4,
        11906.8,
        11632.8,
        11910,
        12295.7,
        12165.4,
        11767
    ],
    "systemRTDVal": [
        2075.25,
        2010.45,
        1767.63,
        1909.91,
        1859.16,
        1701.14,
        1706.64,
        1892.32,
        1712.98,
        1715.94,
        2052.51,
        1904.53,
        2057.63,
        2587.74,
        2582.84,
        2590.53
    ],
    "systemRTXVal": [
        2076.01,
        2001.47,
        1769.89,
        1808.5,
        1799.26,
        1701.01,
        1707.14,
        1713.88,
        1707.75,
        1752.76,
        2066.53,
        1802.88,
        2039.54,
        2587,
        2584.68
    ],
    "luzonDemandVal": [
        8684.2,
        8442,
        8103.1,
        7914.7,
        7772.3,
        7573,
        7677.9,
        8457.5,
        9152.1,
        9608.4,
        10021.5,
        9802.4,
        10040.6,
        10336.8,
        10234.5,
        9911.3
    ],
    "luzonRTDVal": [
        2075.25,
        2010.45,
        1767.63,
        1909.91,
        1859.16,
        1701.15,
        1706.64,
        1892.31,
        1712.98,
        1715.94,
        2052.5,
        1904.53,
        2057.63,
        2587.74,
        2582.84,
        2590.54
    ],
    "luzonRTXVal": [
        2076.01,
        2001.48,
        1769.89,
        1808.51,
        1799.26,
        1701.02,
        1707.14,
        1713.88,
        1707.75,
        1752.76,
        2066.53,
        1802.88,
        2039.54,
        2587,
        2584.68
    ],
    "visayasDemandVal": [
        1498.1,
        1469.2,
        1416.2,
        1387.8,
        1384.8,
        1375.4,
        1415.5,
        1537.7,
        1676.1,
        1783,
        1885.3,
        1830.4,
        1869.4,
        1958.9,
        1930.9,
        1855.7
    ],
    "visayasRTDVal": [
        2075.25,
        2010.46,
        1767.63,
        1909.91,
        1859.16,
        1701.12,
        1706.63,
        1892.33,
        1712.99,
        1715.94,
        2052.51,
        1904.53,
        2057.62,
        2587.74,
        2582.82,
        2590.51
    ],
    "visayasRTXVal": [
        2075.98,
        2001.47,
        1769.85,
        1808.49,
        1799.25,
        1701,
        1707.15,
        1713.86,
        1707.75,
        1752.77,
        2066.52,
        1802.88,
        2039.54,
        2587.03,
        2584.67
    ]
}
person Andrej Kesely    schedule 08.07.2020
comment
@Ruli - отредактируйте это и добавьте import re - person flywire; 05.04.2021

Это зависит от веб-сайта, какой структуры он использует, какие теги используются и т.д. Но https://www.dataquest.io/blog/web-scraping-beautifulsoup/#:%7E:text=Использование%20BeautifulSoup%20to%20parse%20создателя%20из%20%20пакета%20bs4%20. очень помог мне при очистке веб-сайтов.

person ComputerMecha123    schedule 07.07.2020