Я очищаю таблицу экономического календаря от investing.com. Я использую Красивый суп и запрашивает библиотеки. Я делаю запрос методом post и не могу найти способ получить ответ с данными, содержащий более 200 строк из таблицы.
Если при обновлении фильтров таблицы вы посмотрите на сетевой трафик, вы можете видеть, что есть запрос "getCalendarFilteredData". Я основал почтовый запрос на этом. Я попытался изменить заголовок и параметры запроса, показанные ниже в коде, но я не могу понять это. Я мог бы использовать некоторую помощь. Вот что у меня есть:
url = 'https://in.investing.com/economic-calendar/Service/getCalendarFilteredData'
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 '
'(KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36',
"x-requested-with": "XMLHttpRequest"
}
query = {
"country[]": [17, 25, 6, 37, 5, 72, 22, 39, 35, 4],
"importance[]": [1, 2, 3],
"dateFrom": start_date,
"dateTo": current_date,
"timeZone": 58,
}
И для запроса:
with requests.Session() as s:
try:
web = s.post(url, headers=header, data=query)
soup = BeautifulSoup(web.json()['data'], 'html.parser')
rows = soup.find_all('tr', {'class': 'js-event-item'})
После вставки данных в кадр данных pandas я получаю этот размер независимо от параметров.
[200 строк x 7 столбцов]
Количество строк должно быть значительно больше, поскольку я пытаюсь очистить данные с начала 2000-х годов. Любые советы о том, как прогрессировать?