Запрос данных с использованием запросов Python возвращает код состояния 512

#python #web-scraping #python-requests

#python #веб-очистка #python-запросы

Вопрос:

Я пытаюсь запросить портфели трейдеров, например, этот: https://www.etoro.com/people/jaynemesis/portfolio

Я знаю, что базовая настройка должна быть следующей:

 import requests
import json

response = requests.get(url, headers=header)
data = response.json()
  

Анализируя вкладку Заголовки запросов, я установил следующие параметры в качестве заголовков:

 header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0',
          'Host': 'www.etoro.com',
          'Referer': 'https://www.etoro.com/people/jaynemesis/portfolio/history'
          }
  

и я нашел следующую ссылку вместе с префиксом GET, указывающим на запрос типа GET в Inspect -> вкладка Network -> вкладка Headers:

 url = https://www.etoro.com/sapi/trade-data-real/live/public/portfolios?cid=3378352amp;client_request_id=7a29e39e-5324-4234-bac7-d54e8fe4b5a6
  

При печати response.status_code я получаю код состояния 512. Чего мне не хватает? Возможно ли, что вообще невозможно запросить эти данные (возможно, они каким-то образом заблокированы)?

Редактировать:

  • response.text ВОЗВРАТ "error":{"failureReason":"Something went wrong, please try again"}
  • response.headers возвращает длинный dict, начинающийся с: {'Date': 'Mon, 19 Oct 2020 14:33:14 GMT', 'Content-Length': '66', 'Connection': 'keep-alive', 'Set-Cookie': '__cfduid= ... }

Комментарии:

1. Получаете ли вы что-нибудь помимо кода состояния 512 в response — что находится в response.text и response.headers ?

2. response.text возвращает "error":{"failureReason":"Something went wrong, please try again"} while response.headers возвращает заголовок dict с датой, длиной содержимого, подключением, набором файлов cookie и многими другими ключами.