Форум программистов, компьютерный форум, киберфорум
Python: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 08.03.2014
Сообщений: 11

requests.Session - ошибка при открытии страницы

11.12.2019, 09:03. Показов 1468. Ответов 3

Студворк — интернет-сервис помощи студентам
Доброго времени.
Такая беда.
С помощью requests.Session делаю запрос на URLы
Python
1
2
3
for link in cat_links[:44]:
    print(link )
    h = s.get(link).text
Делается все в цикле (ссылок много) по списку.
Когда хочешь получить содержимое страницы, выдает ошибку:
AttributeError: 'NoneType' object has no attribute 'text'
Структура там сложнее (потом идет поиск еще ссылок на странице и обращение уже к ним), но суть не меняется:
постоянно выскакивает эта ошибка.
Как бороться? И вообще, как понять, в чем ее причина?
На сайт не может попасть запрос? В общем, если идти по списку, то по разным ссылкам эта беда может выскочить (когда как).
И прокси включены, и юзер-агент.
Ступор.
Selenium на том же коде все получает.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.12.2019, 09:03
Ответы с готовыми решениями:

Requests login session
Пытаюсь авторизоваться через requests на сайте http://www.mdpi.com/ и оставаясь авторизованным спарсить его через (email авторов доступны...

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

Непонятная ошибка при работе с библиотекой requests
Привет. Запускаю такой скрипт: import requests SimpleResponce=requests.get('https://www.google.com.ua/') ...

3
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
11.12.2019, 13:33
Цитата Сообщение от Mik123 Посмотреть сообщение
И вообще, как понять, в чем ее причина?
не поверишь -перевести ошибку. У None который тебе вернуло нет атрибута текст! что не ясно?
не ясно почему s.get(link) вернуло None? ну тут уже надо ссылки смотреть, отладчиком пройтись. Нет ли по каким то из ссылок переадресации?
0
0 / 0 / 0
Регистрация: 08.03.2014
Сообщений: 11
11.12.2019, 18:16  [ТС]
Разобрался. Это жесть. Весь день убил.
Переводить и читать ошибки обучен, она выглядела не логично.

Так вот, у requests и у BeautifulSoup есть одинаковый метод: get().
Когда попробовал без ГЕТа достать атрибут тега, ошибка исчезла.

Вывод: не пользуйтесь get() в BS.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
11.12.2019, 21:53
Цитата Сообщение от Mik123 Посмотреть сообщение
Вывод: не пользуйтесь get() в BS.
Жесть. То есть ты реально ничего не понял.

Из документации bs4, которую ты в глаза не видел:
Python
1
2
3
4
tag['id']
# KeyError: 'id'
print(tag.get('id'))
# None
И то и другое - способ получить значение атрибута.
Просто первый вариант это прямое обращение по ключу и в случае отсутствия ключа будет, естественно (а как ты думал?), исключение.
Во втором случае исключение в случае отсутствия ключа не бросается, но возвратом будет None.
А None это пустой объект, то есть ни-че-го.


Цитата Сообщение от Mik123 Посмотреть сообщение
она выглядела не логично.
Логично, но только для тех, кто понимает что возврат функции нужно всегда проверять на None (или на то, что указано в доках для возврата в случае фейла).

Цитата Сообщение от Mik123 Посмотреть сообщение
На сайт не может попасть запрос?
Если сайт тебе нечего не ответит, логично что ответ requests будет None.
Если парсер ничего не найдет на странице, логично что возврат функции будет None или пустой контейнер.

Логично, что вменяемые программисты всегда проверяют возврат, перед тем как с ним что-то делать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.12.2019, 21:53
Помогаю со студенческими работами здесь

Ошибка 404 при обращении к сайту через библиотеку requests
Приветствую, имеется код, который берет ссылки из csv файла и обращается к сайту через requests, но почему то выдает ошибку <Response...

Ошибка при чтении данных из xlsx файла, скачанного с использованием requests
Всем привет. Не могу понять, почему возникает ошибка с экселевскими файлами, которые скачаны с помощью requests, если при скачивании...

Ошибка Response [401] при отправке запроса на нажатие кнопки. Requests
Есть header = headers_kz = { 'user_agent': a, #user agent генерируется выше 'accept': '', 'authorization':...

При открытии страницы появляется ошибка
В одной из социальных сетей при открытии страницы "Новое сообщение" выскакивает ошибка "Обнаружена недопустимая кодировка при попытке...

Ошибка при открытии страницы регистрации
Всем привет! Установил Joomla на localhost. На Joomla установил Seblod. Потом я включил регистрацию, но при переходе на страницу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru