• Почему html.Parser выдаёт ошибку?

    Yaroslav Rsx, добрый день!
    Вы немного усложнили способ получения активных пользователей ветки этого сайта.
    Страницы форума доступны любому, в том числе незарегистрированному, пользователю.
    Нет смысла логиниться.
    Посмотрите мой код, запустите.

    import requests
    from bs4 import BeautifulSoup
    from pprint import pprint
    
    
    # %%time
    
    list_nicknames = []
    
    url = r"https://forum.excalibur-craft.ru/forum/14-флудилка/?page="
    
    for i in range(1,228):
        r = requests.get(url+str(i))
        soup = BeautifulSoup(r.content)
    
        all_rows = soup.find_all("div", {"class": "ipsDataItem_meta"})
        for el in all_rows:
            if el.find("a") is not -1 and el.find("a") is not None:
                nickname = el.find("a").get_text()
                list_nicknames.append(nickname)
    
    uniq_nicknames = set(list_nicknames)
    print(len(list_nicknames)) # 5671 пользователя
    print(len(uniq_nicknames)) # 2126 уникальных
    # pprint(uniq_nicknames)


    Успехов в парсинге)

    UPD:
    Код выше тестировался в Google.Colab - ошибок не было.
    Интерпретатор в связке с PyCharm или SiblimeText возвращает ошибку.

    В этом случае стоит попробовать так:
    import requests
    from bs4 import BeautifulSoup
    from pprint import pprint
    
    
    list_nicknames = []
    
    url = r"https://forum.excalibur-craft.ru/forum/14-флудилка/?page="
    
    for i in range(1,228):
        r = requests.get(url+str(i))
        soup = BeautifulSoup(r.content, "html.parser")
    
        all_rows = soup.find_all("div", {"class": "ipsDataItem_meta"})
        for el in all_rows:
            if el.find("a") != -1 and el.find("a") is not None:
                nickname = el.find("a").get_text()
                list_nicknames.append(nickname)
    
    uniq_nicknames = set(list_nicknames)
    print(len(list_nicknames)) # 5671 пользователя
    print(len(uniq_nicknames)) # 2126 уникальных
    # pprint(uniq_nicknames)
    Ответ написан
    Комментировать
  • Pip install discord.py error ???

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    Я уже миллиард раз здесь повторял, если вы новичок, не устанавливайте себе Python 3.9. Не все мейнтейнеры обновили пока свои пакеты. Теоретически можно исходники подкрутить, тогда можно установить на 3.9, но без опыта ничего не получится. Поэтому установите себе Python 3.8!
    discord.py:
    5fb253848afbe581458533.png
    Ответ написан
    3 комментария