Community outlook data scraping

Jan 28, 2021 at 07:34
1,252 Views
3 Replies
Member Since 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)
Member Since 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
Member Since 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.
Member Since Aug 14, 2021   1 posts
Aug 15, 2021 at 18:35 (edited 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'
 }
}
Sign In / Sign Up to comment
You must be connected to Myfxbook in order to leave a comment
*Commercial use and spam will not be tolerated, and may result in account termination.
Tip: Posting an image/youtube url will automatically embed it in your post!
Tip: Type the @ sign to auto complete a username participating in this discussion.