Могу ли я очистить или извлечь данные внутри app.run - PullRequest
0 голосов
/ 12 марта 2019

Я использую Python и BeautifulSoup, и мне нужно извлечь некоторые данные в app.run({"data":Id":"124330049","stock":83}).Когда я попытался найти это значение, он возвращает пустой список, используя поиск.

Могу ли я извлечь / очистить данные внутри app.run?

code:

 soup = content.find('script').get_text()
      found_data = json.loads(soup)
      print(found_data) 

// это дает мне ошибку: необходимо вывести на склад: 83

1 Ответ

1 голос
/ 12 марта 2019

Вы можете выбрать все теги сценария с определенной подстрокой и затем вывести регулярное выражение того, что вы хотите

import re
from bs4 import BeautifulSoup as bs

html = '''
<script type="text/javascript">app.run({"data":Id":"124330049","stock":83})</script>
'''
soup = bs(html, 'lxml')
scripts = [script.text for script in soup.select('script') if 'app.run({"data":Id"' in script.text]

r = re.compile(r'"stock":(\d+)}')
for script in scripts:
    print(r.findall(script))
...