def get_scheme_data(param): schemedata = MFHelper.get_data(url='https://www.amfiindia.com/modules/NavHistoryPeriod', params=param, headers={'X-Requested-With': 'XMLHttpRequest', 'Content-Length': '55'}, request_type='post') if schemedata: schemedata = BeautifulSoup(schemedata.text, 'lxml') cols = [j.string for j in schemedata.findAll('th') if j.string is not None][-4:] schemedata = [k.string for j in schemedata.findAll(name='tr') for k in j if k.string != '\n'][9:] schemedata = [schemedata[4 * j:(4 * j) + 4] for j in range(0, int(len(schemedata) / 4))] schemedata = pd.DataFrame(data=schemedata, columns=cols) schemedata.assign(mf_id = param['mfID'], sc_id = param['scID']) else: schemedata = None return schemedata.to_dict('records')