#!usr/bin/env python3
#-*- coding:utf-8 -*-
'爬取糗事百科文字版段子,发送到指定邮箱'
import requests, re
from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
import smtplib
class QSBK:
def __init__(self):
self.url = 'https://www.qiushibaike.com/text/'
self.stories = []
def getPageContent(self):
try:
r = requests.get('https://www.qiushibaike.com/text/')
return r.text
except:
print(r.raise_for_status())
return ''
def getPageItems(self):
content = self.getPageContent()
pattern = re.compile('<div class="content">.*?<span>(.*?)</span>.*?</div>', re.S)
items = re.findall(pattern, content)
return items
def format_addr(self,s):
name, addr = parseaddr(s)
return formataddr((Header(name, 'utf-8').encode(), addr))
def sendEmail(self, content):
from_addr = input('from: ') # xx@xx.com
password = input('password: ')
to_addr = input('to_addr: ') # xx@##.com
smtp_server = input('smtp_server: ') # smtp.163.com qq邮箱登录有授权码验证!
msg = MIMEText(content, 'plain', 'utf-8')
msg['From'] = self.format_addr('XXX <%s>' % from_addr)
msg['To'] = self.format_addr('XX <%s>' % to_addr)
msg['Subject'] = Header('来自Python爱好者的问候', 'utf-8').encode()
server = smtplib.SMTP_SSL("smtp.163.com", 994)
server.set_debuglevel(1)
server.login(from_addr, password)
server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()
def start(self):
pass
if __name__ == '__main__':
reptile = QSBK()
items = reptile.getPageItems()
content = ''.join(items)
print(content)
reptile.sendEmail(content.replace('<br/>', '\n'))
Python爬虫抓取最新段子发送到指定邮箱
最新推荐文章于 2023-02-01 13:36:37 发布