小福利,用python爬取新聞併發送到郵箱,每天都可以發送哦

大家好,我是天空之城。今天給大家帶來小福利,用python爬取新聞併發送到郵箱,每天都可以發哦

import requests,lxml
from bs4 import  BeautifulSoup

import smtplib
from email.mime.text import MIMEText
from email.header import Header


url='https://news.sina.com.cn/china/'
headers = {
      'Referer': 'https://news.sina.com.cn',
      'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; rv:46.0) Gecko/20100101 Firefox/46.0'}

def getdata():
    res=requests.get(url,headers=headers)
    text = res.content.decode('utf-8')

    html=BeautifulSoup(text,'lxml')
    news1=html.find('div',class_='right-content').find_all('li')
    # print(news1)
    list_all=[]

    for list in news1:
        news0=list.find('a')
        title=news0.text
        link=news0['href']
        #print(title,link)
        list_all.append(title+'\n'+link+'\n')
    return '\n\n'.join(list_all)


def send_email(list):
    mailhost = 'smtp.qq.com'
    qqmail = smtplib.SMTP()
    qqmail.connect(mailhost, 25)
    qqmail.login(account, password)
    content = '親愛的,今天的推薦新聞是:' +'\n'+ list
    message = MIMEText(content, 'plain', 'utf-8')
    subject = '今日推薦'
    message['Subject'] = Header(subject, 'utf-8')
    try:
        qqmail.sendmail(account, receiver, message.as_string())
        print('郵件發送成功')
    except:
        print('郵件發送失敗')
    qqmail.quit()


account = input('請輸入發件人郵箱')
password = input('請輸入發件人郵箱密碼')
receiver = input('請輸入收件人郵箱')

mess = getdata()
send_email(mess)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章