POST REQUEST PYTHON не меняет дату по умолчанию в ответе - PullRequest
1 голос
/ 19 апреля 2020

введите описание изображения здесь Я пытаюсь опубликовать данные формы в https://seffaflik.epias.com.tr/transparency/piyasalar/gop/ptf.xhtml, и я получаю ответ, но не с правильной датой публикации. Вот код, который я использую:

import requests.sessions
url = "https://seffaflik.epias.com.tr/transparency/piyasalar/gop/ptf.xhtml"
aaa = {"j_idt202": "j_idt202",
"j_idt202:date1_input": "15.04.2020",
"j_idt202:date2_input": "17.04.2020",
"j_idt202:goster": "",
"j_idt202:dt_rppDD": "24",
"javax.faces.ViewState": "-4553737376077641878:8530200118323030971"}
bbb = {"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-US,en;q=0.9",
"Cache-Control": "max-age=0",
"Connection": "keep-alive",
"Content-Length": "192",
"Content-Type": "application/x-www-form-urlencoded",
"Cookie": "JSESSIONID=pRJV7cTKKZBG7umanw-d7LLA5dTvfTd52EDzotlR.prd-transparency-n40; TS015dca6c=01cbc7c0b2c35901079ad1afda5dd13dad6a6f5cc4fcaa1cb200890b1e0401d54b571361e1ceea05c8afd884fc986fa67b08b13d13f8c60c97fff85d2e811da2a543cdf9f8; _ga=GA1.3.1509483381.1584105112; _gid=GA1.3.986020094.1587121047; TS01f69930=01cbc7c0b2ab45c0fe95c9305e91aa235e908d80dec19f4d76119e4e3058ae32aac517c2048199e58051222727e2fe312518660537; _gat=1",
"Host": "seffaflik.epias.com.tr",
"Origin": "https://seffaflik.epias.com.tr",
"Referer": "https://seffaflik.epias.com.tr/transparency/piyasalar/gop/ptf.xhtml",
"Sec-Fetch-Dest": "document",
"Sec-Fetch-Mode": "navigate",
"Sec-Fetch-Site": "same-origin",
"Sec-Fetch-User": "?1",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36"}
r = requests.post(url, data= json.dumps(aaa), headers = bbb)
print(r.text)

Я публикую 15.04.2020 и 17.04.2020, но ответ содержит текущую дату, которая является значением по умолчанию. У кого-нибудь есть идеи по этому поводу?

1 Ответ

0 голосов
/ 20 апреля 2020

на похожей веб-странице. Я только что изменил параметры в разделе данных формы, и это сработало.

Вышеприведенное сработало бы, если данные, которые вы выбираете, просто стати c данных, т. Е. Не выполняется Js код для извлечения данных. Обратите внимание, что модуль request просто делает HTTP-запрос к определенному URL с заданными заголовками и параметрами и просто отвечает тем, что выдает сервер.

Чтобы делать то, что вы хотите, это возможно только с помощью веб-API, так что вы определяете, что вы хотите в фильтрах, и сервер отвечает соответствующими данными, которые вы запрашивали ( пример здесь ). Этот сайт , к сожалению, не имеет ни одного. Хорошей альтернативой было бы изучить Headless Web Automation, где должен запускаться экземпляр браузера, и получать данные, которые вы запрашиваете. Вы можете исследовать это, если хотите.

...