Я пытаюсь отправить электронное письмо самому себе с результатами некоторых веб-скрейпингов, которые я сделал. Очистка всего происходит в функции. Поэтому я попытался установить функцию в качестве сообщения для моей электронной почты, но она просто не работает.
Вот мой код (все еще довольно новый, поэтому, пожалуйста, не слишком сильно ругайте код, я знаю, что еще могу его реорганизовать)
from bs4 import BeautifulSoup
from email.mime.text import MIMEText
import requests
import smtplib
page = requests.get("https://www.sportsinteraction.com/soccer/england/premier-league-betting/")
soup = BeautifulSoup(page.content, 'html.parser')
matches = soup.find_all(class_="game")
def betting_odds(data):
for games in data:
teams = games.find_all(class_="name")
odds = games.find_all(class_="price wide")
if len(games.find_all(class_="date")) > 0:
print(games.find(class_="date").get_text())
team1 = teams[0].get_text()
draw = teams[1].get_text()
team2 = teams[2].get_text()
odds1 = odds[0].get_text()
odds_draw = odds[1].get_text()
odds2 = odds[2].get_text()
print("{} {} \n{} {} \n{} {} \n".format(team1, odds1, draw, odds_draw, team2, odds2))
fromx = '[email protected]'
to = '[email protected]'
msg = MIMEText('Here are the odds for the upcoming premier league games\n\n{}'.format(betting_odds(matches)))
msg['Subject'] = 'Premier League Odds'
msg['From'] = fromx
msg['To'] = to
smtpObj = smtplib.SMTP('smtp.gmail.com', 587)
smtpObj.ehlo()
smtpObj.starttls()
smtpObj.login('[email protected]', 'password')
smtpObj.sendmail(fromx, to, msg.as_string())
smtpObj.quit()
Когда я запускаю это, все результаты отображаются в оболочке именно так, как я хочу, а затем отправляется электронное письмо. Как только я получаю электронное письмо, у него есть тема, и первая строка сообщения верна, но затем он говорит «Нет».
Любая помощь приветствуется!
print()
, которую можно запускать несколько раз. - person Klaus D.   schedule 25.10.2018message = ""
передfor games in data:
, а затем вместо печати добавить каждое значение в переменнуюmessage += ("{} {} \n{} ...)
- person Shai Léger   schedule 25.10.2018