Intereting Posts

Использование модуля запросов Python для отправки формы без имени ввода

Я пытаюсь сделать запрос Post с использованием модуля запроса python, но для ввода, который меня больше всего интересует, есть только атрибут id и no name. И все примеры, которые я видел, связаны с использованием этого атрибута имени. Как я могу сделать это Отправить запрос для следующей формы:

 

Я смотрю конкретно на вход с id = “searchInput”.

В настоящее время я пытаюсь использовать этот код: (который только возвращает мне исходную страницу с панелью поиска)

  data = { 'searchInput': name, 'searchVal' : "horses" } r = requests.post(self.equibaseHomeUrl, data=data) 

Если вы посмотрите на инструменты разработчика firebug или chrome, вы можете увидеть, как делается запрос на отправку:

введите описание изображения здесь

Поэтому, используя это, мы можем:

 p = {"searchVal":"horses", "horse_name":"zenyatta"} import requests r = requests.post("http://www.equibase.com/profiles/Results.cfm?type=Horse",p) print(r.content) 

Что, если вы посмотрите на контент, вы можете увидеть результат поиска для Zenyatta.

 
Horse YOB Sex Sire Dam
#Zenyatta-QH-5154943 2009 Gelding #Mr Ice Te-QH #She Sings Soprano-QH
Zenyatta 2004 Mare Street Cry (IRE) Vertigineux

Или если вы хотите использовать базовый url и передать запрос:

 data = {"searchVal": "horses", "horse_name": "zenyatta"} import requests r = requests.post("http://www.equibase.com/profiles/Results.cfm", data, params={"type": "Horse"}) 

Что, если вы запустите его, вы увидите, что URL-адрес сконструирован правильно:

 In [11]: r = requests.post("http://www.equibase.com/profiles/Results.cfm", ....: data, params={"type": "Horse"}) In [12]: In [12]: print(r.url) http://www.equibase.com/profiles/Results.cfm?type=Horse