Выберите и отправьте форму с библиотекой запросов Python

1

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

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

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

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

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)

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

Теги:
python-requests
mechanize

2 ответа

0

вы забыли некоторые параметры в запросе: https://www.pastiebin.com/5bc6562304e3c Изображение 174551 проверьте запрос на отправку с помощью инструментов Google для разработчиков

0

Я думаю, вы должны посмотреть в scrapy

  • 0
    В прошлом я использовал scrapy для очистки подобной веб-страницы, но в итоге оказалось проще использовать библиотеку запросов. В этом случае я смогу очистить все страницы с запросами, единственное, что меня сдерживает, - это пройти кнопку «Поиск» на главной странице.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню