Найти данные из тега Script в BeautifulSoup Python - PullRequest
0 голосов
/ 24 января 2020

Я создаю webscrapper, но застрял в одной проблеме. Как получить это значение данных?

<script>
                var store = {
                        data: 'ffggel4784hth4ve8bf5hhe8rh4b1d4g84usd9',
                        domain: 'www.domain.com'
                };
</script>

Я использую python с запросами и bs4.

x = Beautifulsoup.find('script')
data = x.text

Я получил вывод

                var store = {
                        data: 'ffggel4784hth4ve8bf5hhe8rh4b1d4g84usd9',
                        domain: 'www.domain.com'
                };

Сейчас как получить это значение данных.

1 Ответ

0 голосов
/ 24 января 2020

Это обычная строка, поэтому используйте такие строковые функции, как strip(), split(), replace(), нарезка

Например,

text = '''var store = {
                        data: 'ffggel4784hth4ve8bf5hhe8rh4b1d4g84usd9',
                        domain: 'www.domain.com'
                };'''

lines = text.split('\n')

parts = lines[1].strip().split(': ')
name = parts[0]
data = parts[1].strip(',')[1:-1]
print(name, '=', data)

parts = lines[2].strip().split(': ')
name = parts[0]
data = parts[1].strip(',')[1:-1]
print(name, '=', data)

Результат

data = ffggel4784hth4ve8bf5hhe8rh4b1d4g84usd9
domain = www.domain.com
...