Задать вопрос

Не могу вытащить информацию с тега script,что делать?

Всем привет!
Хочу извлечь линки всех изображений с ссылки, но у меня возникла проблема с извлечением информации с тега script
Код вот:
import requests
import json
from bs4 import BeautifulSoup as BS
import re

# Ссылка на полную страницу
url = 'https://www.instagram.com/p/B5n2EXjF_1C/'

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'}


r = requests.get(url, headers=headers, allow_redirects=True)

soup = BS(r.content, 'html.parser')
script = soup.find('script', attrs={'type':"text/javascript"}, text=re.compile('window._sharedData'))
data = json.loads(script.next)
image_url = data['display_url']

print(image_url)

Код ошибки тоже есть:
Traceback (most recent call last):
File "C:/Users/Desktop/test/venv/Test.py", line 19, in
data = json.loads(script.next)
File "C:\Users\AppData\Local\Programs\Python\Python38-32\lib\json\__init__.py", line 357, in loads
return _default_decoder.decode(s)
File "C:\Users\AppData\Local\Programs\Python\Python38-32\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Users\AppData\Local\Programs\Python\Python38-32\lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Не сильно умею работать с типами js, но если есть у кого-то желание и время помочь,буду вам очень признателен!
  • Вопрос задан
  • 120 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Вы пытаетесь его распарсить как JSON, но там не JSON. Там javascript.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽