2016-08-11 2 views
0
import requests 
from bs4 import BeautifulSoup 
s = requests.Session() 
content = s.get('https://nucleus.niituniversity.in/Default.aspx').content 
soup = BeautifulSoup(content,"html5lib") 
print("viewState = " + str(soup.select_one("#__VIEWSTATE")["value"])) 
print("UserDet = " + str(soup.select_one("#SchSel_hidCoreUserDet")["value"])) 

Результат:
ViewState = qdwrf3rf
Невозможно разобрать значение элемента из ответа в python?

KeyError: Значение whoch не означает, что никакой ценности существует для userdet

Но увидеть ответ, когда я вручную login.The значение для Userdet существует. enter image description here

Почему ошибка возникает во время запросов с помощью python, в то время как проблема с ручным входом.

+0

выглядит как у вас есть дополнительные одиночные кавычки в конце вашей строки #SchSel_hidCoreUserDet» – glls

+0

сделано редактирование ... – anderson

ответ

0

Нет, элемент с id="SchSel_hidCoreUserDet" не имеет value. Вот то, что я вижу, если открыть эту страницу в браузере:

<input type="hidden" name="SchSel$hidCoreUserDet" id="SchSel_hidCoreUserDet" value=""> 

Значение фактически пуст - это браузер, который добавляет атрибут value с пустым значением.

И вот что я вижу, если печать элемент, найденный BeautifulSoup:

<input id="SchSel_hidCoreUserDet" name="SchSel$hidCoreUserDet" type="hidden"/> 

В обоих случаях элемент не имеет значения.


Возможно, вы зашли ранее на этот сайт, и он может запомнить вас через файлы cookie или локальное хранилище. Попробуйте проверить источник страницы в окне инкогнито или в браузере, который вы не использовали для входа на этот сайт.

+0

см 440 строки [здесь] (вид-источник: https: //nucleus.niituniversity.in/). Он присваивает значение – anderson

+0

@anderson Я вижу 'hidCoreUserDet.value =" ";' в строке 440. – alecxe

+0

извините, см. 453, строка – anderson

Смежные вопросы