Проблема в том, что вы передаете форму data как заголовки .
Вы должны отправить данные с data
аргументом с ключом в request.Session.post
:
with requests.Session() as session:
url = 'https://br.investing.com/commodities/aluminum-historical-data'
data = {
"curr_id": "49768",
"smlID": "300586",
"header": "Alumínio Futuros Dados Históricos",
'User-Agent': 'Mozilla/5.0',
'st_date': '01/01/2017',
'end_date': '29/09/2018',
'interval_sec': 'Daily',
'sort_col': 'date',
'sort_ord': 'DESC',
'action': 'historical_data',
}
your_headers = {} # your headers here
response = session.post(url, data=data, headers=your_headers)
bs2 = BeautifulSoup(response.text,'lxml')
tb = bs2.find('table',{"id":"curr_table"})
Я бы также рекомендовал включить ваши заголовки (особенно user-agents
) в запрос POST, потому что сайт не может разрешить ботов.В этом случае, если вы это сделаете, бот будет сложнее обнаружить.