После нажатия кнопки «Отправить» создается запрос POST в следующем формате:
https://dge3.tn.nic.in/plusone/plusoneapi/marks/{registration number}/{DOB}
Образец (с 112231 как registration number
и 01-01-2000
как DOB.
https://dge3.tn.nic.in/plusone/plusoneapi/marks/112231/01-01-2000
Затем вы можете перебирать разные регистрационные номера с помощью предварительно определенного массива.
Примечание: это должен быть запрос POST, а не обычный запрос GET.
Вы, вероятно, должны сделать что-то вроде следующего:
import requests
from bs4 import BeautifulSoup
DOB = '01-01-2000'
REGISTRATION_NUMBERS = ['1','2']
for reg_number in REGISTRATION_NUMBERS:
result = requests.post(f"https://dge3.tn.nic.in/plusone/plusoneapi/marks/{reg_number}/{DOB}")
content = result.content
print(content)
## BeautifulSoup logic
Я не знаю, предоставляет ли этот запрос необходимую вам информацию, у меня нет действительных регистрационных номеров в сочетании с правильной датой рождения, поэтому я не могу проверить это ...
Обновление 2019-07-09:
Поскольку вы сказали, что страница больше не работает, а сайт изменился, я посмотрел.
Кажется, что некоторые вещи изменились, теперь вы должны отправить запрос на http://tnresults.nic.in/rgnfs.asp
. Поля 'regno', 'dob' и 'B1' (необязательно?) Следует отправлять как x-www-form-urlencoded.
Так как это вернет «Отказано в доступе», вы должны установить для заголовка «Referer» значение «http://tnresults.nic.in/rgnfs.htm'. так:
import requests
from bs4 import BeautifulSoup
DOB = '23-10-2002'
REGISTRATION_NUMBERS = ['5709360']
headers = requests.utils.default_headers()
headers.update({'Referer': 'http://tnresults.nic.in/rgnfs.htm'})
for reg_number in REGISTRATION_NUMBERS:
post_data = {'regno': reg_number, 'dob': DOB}
result = requests.post(f"http://tnresults.nic.in/rgnfs.asp", data=post_data, headers=headers)
content = result.content
print(content)
## BeautifulSoup logic
Сам успешно протестировал, теперь вы указали действительный DOB и регистрационный номер.