Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 8, 2022 07:59:13

mdf
Зарегистрирован: 2022-06-08
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка AttributeError: 'NoneType' object has no attribute 'find_all' - BeautifulSoup - find_all

Добрый день!
Пытаюсь парсить страницу

 soup=BeautifulSoup(html, 'lxml')
hlPage=soup.find('div', class_='paginator').find_all('a')[-2].get('href')
Получаю ошибку:
AttributeError: ‘NoneType’ object has no attribute ‘find_all’
Непойму, что не так ? (

Отредактировано mdf (Июнь 8, 2022 07:59:38)

Офлайн

#2 Июнь 8, 2022 08:59:52

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Ошибка AttributeError: 'NoneType' object has no attribute 'find_all' - BeautifulSoup - find_all

Покажите весь код



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#3 Июнь 8, 2022 10:12:03

mdf
Зарегистрирован: 2022-06-08
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка AttributeError: 'NoneType' object has no attribute 'find_all' - BeautifulSoup - find_all

Вот примерно такой код:

 import requests
from bs4 import BeautifulSoup
import csv
import codecs
import random 
import time
data = []
def get_html_page(url):
    r=requests.get(url)
    return r.text
def get_max_page(html):
    soup=BeautifulSoup(html, 'lxml')
    #нахожу блок с перечнем страниц сохраняю в hpages
    hlPage=soup.find('div', class_='paginator').find_all('a')[-2].get('href')
    print (hlPage)
    print ('OK')
    max_page=1
    return int(max_page)
def main():
    listURL=['https://www.kn.kz/karaganda/prodazha-odnokomnatnyh-dvuhkomnatnyh-trehkomnatnyh-chetyrehkomnatnyh-kvartir/',
             'https://www.kn.kz/zhezkazgan/prodazha-odnokomnatnyh-dvuhkomnatnyh-trehkomnatnyh-chetyrehkomnatnyh-kvartir/'
             ]
    rootURL='https://www.kn.kz'   
#    startURL='https://www.kn.kz/karaganda/prodazha-odnokomnatnyh-dvuhkomnatnyh-trehkomnatnyh-chetyrehkomnatnyh-kvartir/?'
    page_label='/page/'
    
    for startURL in listURL:
        max_page=get_max_page(get_html_page(startURL)) ## получаю кол-во страниц для отфильнованного списка объявлений на сайте
        print (startURL)
        #print(max_page)
        #time.sleep(random.randint(7,16))
        
    
if __name__ == '__main__':
    main()

Офлайн

#4 Июнь 8, 2022 10:30:39

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Ошибка AttributeError: 'NoneType' object has no attribute 'find_all' - BeautifulSoup - find_all

mdf
Получаю ошибку:
AttributeError: ‘NoneType’ object has no attribute ‘find_all’


The only difference is that find_all() returns a list containing the single result, and find() just returns the result.
If find_all() can’t find anything, it returns an empty list. If find() can’t find anything, it returns None:



Офлайн

#5 Июнь 8, 2022 11:00:22

mdf
Зарегистрирован: 2022-06-08
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка AttributeError: 'NoneType' object has no attribute 'find_all' - BeautifulSoup - find_all

FishHook
Млин - спасибо. Затупил - по второму адресу не возвращается результатов )

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version