Json,抓取到网页-python

时间:2018-07-04 17:38:38

标签: python json dictionary web-scraping

我正在使用python中的请求和beautifulsoup库抓取到某些网页

所以我用这个简单的代码就得到了想要的元素

<script>
data = {'user':{'id':1,'name':'joe','age':18,'email':'joe@hotmail.com'}}
</script>

所以我想获取变量中的电子邮件值 但是整个元素又回到列表中,当我指定该标签的文本时 我无法将其导入json,这给我列中的错误 有什么想法吗? 我将不胜感激

1 个答案:

答案 0 :(得分:1)

简单的事情,也许会对您有所帮助。

import json
from bs4 import BeautifulSoup

html = """
<script>
data = {'user':{'id':1,'name':'joe','age':18,'email':'joe@hotmail.com'}}
</script>
"""

soup = BeautifulSoup(html, 'html.parser')
# slices [7:] mean that we ignore the `data = `
# and replace the single quotes to double quotes for json.loads()
json_data = json.loads(soup.find('script').text.strip()[7:].replace("'", '"'))
print(json_data)
print(type(json_data))

输出

{'user': {'id': 1, 'name': 'joe', 'age': 18, 'email': 'joe@hotmail.com'}}
<class 'dict'>