Выберите и отправьте форму с библиотекой запросов Python - PullRequest
0 голосов
/ 14 октября 2018

Я пытаюсь очистить данные с этого веб-сайта.Чтобы получить доступ к таблицам, мне нужно нажать кнопку «Поиск».Я смог успешно сделать это, используя mechanize:

br = mechanize.Browser()
br.open(url + 'Wildnew_Online_Status_New.aspx')
br.select_form(name='aspnetForm')
page = br.submit(id='ctl00_ContentPlaceHolder1_Button1')

«страница» дает мне полученную веб-страницу с таблицей, по мере необходимости.Тем не менее, я хотел бы перебирать ссылки на последующие страницы внизу, и это вызывает JavaScript.Я слышал, что Mechanize не поддерживает это, поэтому мне нужна новая стратегия.

Я полагаю, что могу попасть на последующие страницы с помощью пост-запроса из библиотеки запросов.Однако я не могу нажать «поиск» на главной странице, чтобы перейти к исходной таблице.Другими словами, я хочу повторить приведенный выше код с помощью запросов.Я пытался

s = requests.Session()
form_data = {'name': 'aspnetForm', 'id': 'ctl00_ContentPlaceHolder1_Button1'}
r = s.post('http://forestsclearance.nic.in/Wildnew_Online_Status_New.aspx', data=form_data)

Не уверен, почему, но это снова возвращает главную страницу (без нажатия Поиск).Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

вы забыли некоторые параметры в этом пост-запросе: https://www.pastiebin.com/5bc6562304e3c enter image description here проверьте запрос на публикацию с помощью инструментов google dev

0 голосов
/ 14 октября 2018

Я думаю, вы должны изучить scrapy

...