Сбор данных через веб-сокеты - PullRequest
2 голосов
/ 16 июня 2020

Я пытаюсь получить ежедневные данные о ценах с указанной c веб-страницы:

https://www.londonstockexchange.com/stock/CS1/amundi/company-page

Эти данные представлены в диаграмме.

У меня закончилась идея попытаться получить эти данные. Я предполагаю, что эти данные передаются через одно из подключений к веб-сокету, которое создается и извлекается в консоли браузера.

введите здесь описание изображения

Я попытался смоделировать websocket и отправить тот же двоичный файл, что и переднее приложение.

from websocket import create_connection

s = create_connection("wss://82-99-29-151.infrontservices.com/wsrt/2/4")

hex_1 = "3e000000010..."
hex_2 = "13000000010..."
hex_3 = "1e000000010..."

ws.send(binascii.unhexlify(hex_1))
ws.send(binascii.unhexlify(hex_2))
ws.send(binascii.unhexlify(hex_3))

result =  ws.recv()

Затем я попытался расшифровать этот ответ со всеми возможными кодировками следующим образом:

import binascii
from encodings.aliases import aliases

for v in [v for k, v in aliases.items()]:
    try:
        print(result.decode(v))
    except:
        print(f"ERROR {v}")

И, естественно, у меня есть нет интерпретируемого вывода, который я мог бы использовать. Я мог подумать, что здесь используется шифр. Но я больше не знаю, как продолжить расследование.

Вы знаете об этом? :)

Заранее спасибо!

AL Ko

РЕДАКТИРОВАТЬ 1

введите описание изображения здесь

Мы видим одну точку данных со значением 16990 для заданной даты. Это то, что я ищу - это весь временной ряд графика.

1 Ответ

0 голосов
/ 16 июня 2020

После того, как вы прочтете мой комментарий и получите информацию о парсинге и решите действовать осторожно,

Python может получить этот JSON с помощью всего нескольких строк кода

import requests
url = "https://api.londonstockexchange.com/api/gw/lse/instruments/alldata/CS1"
response = requests.get(url=url).json()
# print some data from the json
print(response_json)
print(response_json.get("description"))
print(response_json.get("bid"))

Я нашел эти данные с помощью вкладки «сеть», еще несколько появляются, когда вы нажимаете «перезагрузить», но они кажутся пустыми.

...