【问题标题】:Extract data from Json: Error JSONDecodeError: Expecting value从 Json 中提取数据:错误 JSONDecodeError:期望值
【发布时间】:2021-05-28 20:32:26
【问题描述】:
import json
import requests
from bs4 import BeautifulSoup

url = 'https://play.google.com/store/apps/details?id=shooter.online.warplanes&hl=en'
data = requests.get(url)
soup = BeautifulSoup(data.text, 'html.parser')
script = soup.find('script', type='application/ld+json')
dt=json.loads(script.get_text())

错误: 文件“C:\Users\Admin\anaconda3\lib\json\decoder.py”,第 355 行,在 raw_decode 从 None 提高 JSONDecodeError("Expecting value", s, err.value) JSONDecodeError:期望值

【问题讨论】:

  • 我认为问题在于没有接收到有效的 JSON,而 JSON 解析器不接受这个。
  • 我认为您收到了无效的 JSON。将 script.get_text() 的输出粘贴到 Web 中的任何 JSON 验证器中。例如jsonformatter.curiousconcept.com

标签: python json web-scraping beautifulsoup python-requests


【解决方案1】:

这就是你的做法:

import json

import requests
from bs4 import BeautifulSoup

url = 'https://play.google.com/store/apps/details?id=shooter.online.warplanes&hl=en'
script = BeautifulSoup(requests.get(url).text, 'html.parser').find('script', type='application/ld+json')
print(json.loads(script.string)["name"])

输出:

Sky Combat: war planes online simulator PVP

【讨论】:

    猜你喜欢
    • 2021-05-17
    • 2020-09-04
    • 2021-02-23
    • 2017-12-28
    • 2021-03-05
    • 2018-10-07
    • 1970-01-01
    • 2018-08-28
    • 1970-01-01
    相关资源
    最近更新 更多