Community outlook data scraping

Jan 28, 2021 at 07:34
1,219 Visualizações
3 Replies
Membro Desde Jan 19, 2021   7 posts
Jan 28, 2021 at 07:34
Hi,
I am trying to get community outlook data, sending minute by minute requests, using JSON. It works once and I am getting an error in the next minute's try. Here are the code and the error, has someone had a similar problem? or any idea to fix it?

import requests
import json
Login = 'https://www.myfxbook.com/api/login.json?email=email&password=password'
Login_response = requests.get(Login, verify = False)
Login_data = Login_response.json()
session_id = Login_data['session']
Outlook='https://www.myfxbook.com/api/get-community-outlook.json?session=' + session_id
Outlook_response = requests.get(Outlook, verify = False)
Outlook_data = Outlook_response.json()['symbols']

Error:
Outlook_data = Outlook_response.json()['symbols']
  File 'C:\Python\lib\site-packages\requests\models.py', line 900, in json
    return complexjson.loads(self.text, **kwargs)
  File 'C:\Python\lib\json\__init__.py', line 357, in loads
    return _default_decoder.decode(s)
  File 'C:\Python\lib\json\decoder.py', line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File 'C:\Python\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)
Membro Desde Jan 17, 2021   31 posts
Feb 23, 2021 at 21:29
Thanks man, appreciate it. Are you paying for outlook data? If not you can only call api 15 minutes max.
Anyway thanks for the code hahahah
Membro Desde Jan 19, 2021   7 posts
Mar 03, 2021 at 12:50
Np, for avoiding the mentioned error you need to run the first part once (till the sixth line), and repeat only the second part every 15 minutes or more, using a loop or any other technic. Free accounts are not able to collect data in less than 15 minutes time frames. Also, replace the email and password with your account information and log out at the end.
Membro Desde Aug 14, 2021   1 posts
Aug 15, 2021 at 18:35 (editado Aug 15, 2021 at 19:06)
The response should be this:

{
 'error': false,
 'message': '',
 'symbols': [
    {
   'name': 'EURUSD',
   'shortPercentage': 55,
   'longPercentage': 44,
   'shortVolume': 1142.58,
   'longVolume': 905.47,
   'longPositions': 2932,
   'shortPositions': 3888,
   'totalPositions': 2048,
   'avgShortPrice':1.3808,
   'avgLongPrice':1.4097
  }
 ],
 'general': {
  'demoAccountsPercentage': 43,
  'realAccountsPercentage': 56,
  'profitablePercentage': 54,
  'nonProfitablePercentage': 45,
  'fundsWon': '6,819,251.63',
  'fundsLost': '-8,740,646.15',
  'averageDeposit': '21,740.16',
  'averageAccountProfit': '4,127.88',
  'averageAccountLoss': '-5,290.95',
  'totalFunds': '35,914,737.56'
 }
}
Autenticar / Sair to comment
You must be connected to Myfxbook in order to leave a comment
*Uso comercial e spam não serão tolerados, podendo resultar no encerramento da conta.
Dica: Postar uma imagem/URL do YouTube irá incorporá-la automaticamente no seu post!
Dica: Insira o sinal @ para preencher automaticamente um nome de utilizador que participe nesta discussão.