как отправлять данные на сайт, без селениума и вебдрайвера. чисто питоном отправить запрос, чтоб ввести в строку данные и нажать кнопку сохранить. есть подсказки или документация как это сделать?
Asked
Active
Viewed 73 times
1
1 Answers
0
Я так понял, что необходимо отправить заполненую форму?
import urllib.request
POST = {'name_of_field' : 'value of field'}
GET='?var=Value'
headers = {'User-Agent': 'Python-Scrypt'}
cookie='' #not empty if auth needed
u_to = urllib.parse.urlencode(POST)
u_to = u_to.encode('ascii')
req=urllib.request.Request('http://sample.com/'+GET, u_to, headers)
req.add_header('cookie', cookie)
u_from=urllib.request.urlopen(req)
cookie = u_from.headers.get('Set-Cookie')
html = u_from.read()
html.decode('utf')
p.s. гпт в программировании плохой помощник,- верно подсказывает лишь элементарные вещи, в остальном лишь вводит в заблуждение.
ganz
- 1,614
- 1
- 3
- 13
-
я сначала подумал ты написал что то сложное, а потом понял что у тебя какой то особенный стиль написания кода. почему ты используешь urllib.request если можно сразу использовать request? типа, половину кода можно написать как req = request.post(url, 'name_of_field' : 'value of field', cookies=cookies, headers=headers) мб, я просто что то не понял а еще вопрос, ты не знаешь как отправить запрос на нажатие кнопки без использования селениума, если его активация идет через js? – Shataev Nov 15 '23 at 10:15
-
не важно как идёт активация кнопки, важен лишь целевой документ, то есть "браузер-инструменты разраба-хтмл код" находишь код кнопки, и заменяешь http://sample.com/ на тот адрес который в коде кнопки. Возможно ещё придётся подменить реферер или немого потанцевать обходя защиту, но это наврятли. – ganz Nov 15 '23 at 14:07
request(это слово и есть ответ, только во множественном числе:requests). – aleksandr barakin Nov 14 '23 at 10:57Если вы хотите внести изменения на сайте, как если бы вы выполняли действия через браузер, вам, вероятно, потребуется использовать инструменты, поддерживающие выполнение JavaScript. Это может быть, например, библиотека selenium."
– Shataev Nov 14 '23 at 11:46