Ошибка при использовании BeautifulSoup4 на разных ОС

недавно начал изучать Python и столкнулся с проблемой - в Windows10 код работает, а на LinuxMint выходит ошибка

Unresolved attribute reference 'find_all' for class 'PageElement'

в этой функции:

def get_links(html):
    try:
        links = []
        soup = BeautifulSoup(html, 'lxml')
        divs = soup.find('div', id="rso").find_all('div', class_="dbsr")
        for div in divs:
            link = div.find('a').get('href')
            links.append(link)
        print('**links_list ok**')
        return links

    except TypeError:
        print('TypeError in get_links()')

И в Windows и в Linux ПО одинаковое (стоят Python 3.8 и PyCharm Community Edition) Скрин ошибки на LinuxMint Скрин ошибки на LinuxMint

В Windows10 ошибки нет В Windows10 ошибки нет

Как можно обойти эту ошибку? Пробовал применить .find_all('div', class_="dbsr") отдельно уже к divs, но все равно выходит такая же ошибка.


Ответы (1 шт):

Автор решения: Павел Осипенко

PyCharm думает что soup.find() возвращает экземпляр класса PageElement, у которого нет такого метода. На самом деле soup.find() возвращает Tag, у которого такой метод есть. Запусти код, ошибки не должно быть.

→ Ссылка