convert data in to json

Viewed 44

I am trying to convert data into JSON but they will provide this error json.decoder.JSONDecodeError: Extra data: line 1 column 36090 (char 36089) what extra data I am print they will provide me these error

import enum
import requests
from bs4 import BeautifulSoup
import json
import pandas as pd 
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.3"
}
r = requests.get("https://www.fleetpride.com/parts/otr-brake-drum-otr1601b")
soup = BeautifulSoup(r.content, "html5lib")
raw_json = ""
for table_index,table in enumerate( soup.find_all("script")):
    if('CCRZ.detailData.jsonProductData = {"' in str(table)):
        x=str(table).split('CCRZ.detailData.jsonProductData = {"')
        raw_json = "{\""+str(x[-1]).strip(';')
        break
        #  new_list = [y.strip() for y in x]
        # u=json.dumps(new_list)
        print(table_index, str(raw_json)[:200])
req_json = json.loads(raw_json)
uri = req_json['mediaWrappers']['Alternate Images'][0]['uri']
print(uri)
1 Answers
import enum
import requests
import json
import pandas as pd 
import re
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.3"
}
r = requests.get("https://www.fleetpride.com/parts/otr-brake-drum-otr1601b")
raw_json = ""
raw_json = re.findall(r'CCRZ.detailData.jsonProductData = (.*?)};', r.text)
req_json = json.loads(raw_json[0]+"}")
uri = req_json['mediaWrappers']['Alternate Images'][0]['uri']
print(uri)
Related