我如何通过Beautifulsoup访问这些信息?

时间:2016-09-16 14:43:30

标签: python-2.7 beautifulsoup

如何使用beautifulsoup找到示例 context 的值?

这是我在Python中打印Beautiful var时获得的一些内容。

<script>
(function (root) {
root['__playIT'] = {"context":{"dispatcher":{"stores"} 
}(this));
</script>

1 个答案:

答案 0 :(得分:0)

使用BeautifulSoup,您只能找到所需的script元素。然后,要提取实际的context值,您可以使用例如正则表达式:

import re
from bs4 import BeautifulSoup

data = """
<script>
(function (root) {
root['__playIT'] = {"context":{"dispatcher":{"stores"}
}(this));
</script>"""
soup = BeautifulSoup(data, "html.parser")

pattern = re.compile(r'"context":(\{.*?)$', re.MULTILINE | re.DOTALL)
script = soup.find("script", text=pattern)

result = pattern.search(script.text).group(1)
print(result)

打印:

{"dispatcher":{"stores"}

请注意,如果该值是有效的JSON字符串,则可以使用json.loads()加载它。