#python #beautifulsoup #python-requests
Вопрос:
Я пытаюсь написать сценарий, который сообщит мне количество непрочитанных писем. Но я получаю ошибку атрибуции.
Мой Код
import requests
from bs4 import BeautifulSoup
class email:
def unread():
url = 'https://mail.google.com/mail/u/0/#inbox'
headers_A = {'User-Agent': 'Mozilla/5.0 (X11; Linux armv7l; rv:78.0) Gecko/20100101 Firefox/78.0'}
site = requests.get(url, headers=headers_A)
info = BeautifulSoup(site, 'html.parser')
unread = info.find('div', attrs={'class', 'bsU'}).text
return unread
email = email()
unread = email.unread()
print(unread)
Код ошибки
AttributeError: module 'http' has no attribute 'client'
Спасибо!
Комментарии:
1. вам нужно добавить
.content
вsite
BeautifulSoup
2. Вы заставляете нас догадываться, в чем ошибка. Пожалуйста, обновите вопрос, чтобы включить полное сообщение об обратном отслеживании ошибок.
Ответ №1:
Решить эту проблему с помощью веб-сканера-очевидная идея, потому что обычно вы проверяете свою электронную почту через браузер.
Тем не менее, для создания такого веб-крапера требуется больше, чем один HTTP get
-запрос на URL-адрес для папки «Входящие».
Вам нужно будет пройти онлайн-аутентификацию в Google, что, насколько я знаю, довольно сложно, затем вам нужно будет управлять сеансом и файлами cookie, чтобы оставаться в системе, когда вы выполняете очистку.
На самом деле есть гораздо более простой способ решить эту проблему.
При создании веб-страниц вы используете протокол HTTP, но при отправке по электронной почте используется другой протокол, который намного проще и полностью независим от HTTP. это IMAP.
Это означает , что вам не нужно использовать bs4
или requests
, вы можете просто подключиться к серверу IMAP Googles.
Вот учебник, который объяснит вам, как вы можете создать простой клиент IMAP на python.
Вам также потребуется разрешить менее безопасные приложения в вашей учетной записи Google, чтобы это работало. Вы можете сделать это здесь
Комментарии:
1. Спасибо Вам :))))