CollonilTolli
@CollonilTolli

Как исправить AttributeError: 'NoneType' object has no attribute 'find_all'?

Гуглил долго, а до сих пор не могу понять, в чём ошибка?
Выдаёт: AttributeError: 'NoneType' object has no attribute 'find_all'

Я так понимаю, не находит нужный блок, но как это исправить?
пытаюсь спарсить имя пользователя со страницы в вк

import requests;from bs4 import BeautifulSoup

link = input("")
responce = requests.get(link).text
soup = BeautifulSoup(responce, 'lxml')
block = soup.find('div', id = "page_info_wrap")
check_nikname = block.find_all('h1')[0].text
print(check_nikname)
  • Вопрос задан
  • 4589 просмотров
Пригласить эксперта
Ответы на вопрос 1
yupiter7575
@yupiter7575
Python программист
import requests;from bs4 import BeautifulSoup
У меня на родине, за такое расстреливают на месте

responce = requests.get(link).text
soup = BeautifulSoup(responce, 'lxml')

response в переводе означает "ответ". А у вас в ответе лежит html разметка, имя переменной не правильно подобрано. Да и пишется response

block = soup.find('div', id = "page_info_wrap")
Скиньте ссылку, где вы видели чтобы так писали. Понятное дело он не находит. Правильный синтаксис, прописанный в документации:
block = soup.find('div', attrs={"id":"page_info_wrap"}

И если есть возможность, лучше искать только по тегу или по классу.

check_nikname = block.find_all('h1')[0].text
И на последок, имя переменной не правильно подобрано. check - глагол, глаголы используют в названиях Функций

UPD:
Перечитал вопрос. А зачем вы через requests парсите то вк? У них же api свой есть
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы