Здравствуйте. Я пытаюсь собрать информацию с веб-сайта. https://www.nsekra.com/.. Нам нужно выбрать Non-Individual
из выпадающего списка, затем ввести PAN как AAAHA0064Q
и captcha number
, который генерирует случайное число каждый раз, когдасайт посещен или открыт.После этого нам нужно нажать кнопку Search
, чтобы получить необходимую информацию.
import requests
from bs4 import BeautifulSoup
resp = requests.get('https://www.nsekra.com/')
soup = BeautifulSoup(resp.text,'lxml')
dictinfo = {i['name']:i.get('value','') for i in soup.select('input[name]')}
# trying to enter PAN as 'AAAHA0064Q'
dictinfo['txtPan']='AAAHA0064Q'
# trying to get captcha number & passing to textbox
captcha_number = soup.select_one("#lblDynamicCode").text
print('Fetched Catpcha No. -> ',captcha_number);
dictinfo['txtImageBox'] = captcha_number
# passsing pan no. & captcha number to the request method
resp2 = requests.post('https://www.nsekra.com/',data=dictinfo)
soup2 = BeautifulSoup(resp2.text,'lxml')
name = soup2.select_one('#lblKra_name').text
print('KRA Name : '+name)
ВЫХОД
print('Fetched Catpcha No. -> ',s);
Полученный номер Catpcha -> 757205
print(soup2.prettify());
print('KRA Name : '+name)
KRA Имя:
Ожидаемый результат
KRA Имя: CVL KRA
Как вы можете видеть, я могу получить номер капчи, но когда я пытаюсь передать его на сайт, он регенерирует новый номер каждый раз, когда сайтпосещается.Таким образом, в основном, приведенный выше код получает номер капчи, но при посещении веб-сайта генерируется новый номер, и вместо нового номера передается старый или предыдущий номер, а не текущий номер при посещении веб-сайта.Как я могу получить и использовать это динамически генерируемое число, чтобы получить результаты, которые меня интересуют? Мне нравится придерживаться библиотеки requests
, чтобы сделать это.