python2爬取虎扑NBA的新闻标题和内容发送到QQ邮箱
继之前分享了如何爬取虎扑新闻标题和内容,现在实现一下如何发送到QQ邮箱。
其实很简单啦,去自己的QQ邮箱账号设置里面开通一下SMTP、POP3啥的,然后生成一串只能你自己知道的授权码,使用这个授权码和你的邮箱账号才能第三方发送邮件,你的QQ密码不行的噢!
下面就直接贴代码了,其实和之前的代码差不多,发送邮件调取python强大的库即可,溜了并且留下代码:
#!/usr/bin/python2
# -*- coding: UTF-8 -*-import urllib2
from bs4 import BeautifulSoup
import MySQLdb
import smtplib
from email.mime.text import MIMEText
from email.header import Headerdef sendMail(receivers,content):# 第三方 SMTP 服务mail_host = "smtp.qq.com" # 设置服务器(使用第三方 SMTP 服务发送或本机安装 sendmail(邮件传输代理程序)localhost)mail_user = "2365285094@qq.com" # 服务器用户名,也就是你的邮箱账号mail_pass = "xxxxxxx" # 口令 授权码sender = '2365285094@qq.com' #发送者邮箱message = MIMEText(content, 'plain', 'utf-8')message['From'] = Header("xxxx2号", 'utf-8') #发送人message['To'] = Header("xxxx1号", 'utf-8') #接收人subject = '每日虎扑新闻爬取' #邮件标题message['Subject'] = Header(subject, 'utf-8')try:smtpObj = smtplib.SMTP_SSL(mail_host, 465)# 465 为 SMTP 端口号 链接服务器smtpObj.login(mail_user, mail_pass)smtpObj.sendmail(sender, receivers, message.as_string())print "email success"except smtplib.SMTPException:print "Error: cannot send email"#返回向url请求所获得的html
def getHtml(url):rs = urllib2.urlopen(url)return rs.read()# 打开数据库连接
# db = MySQLdb.connect("xxxxxx", "root", "xxxx", "news_test", charset='utf8' )
# 使用cursor()方法获取操作游标
# cursor = db.cursor()
#虎扑NBA新闻的首页地址是https://voice.hupu.com/nba/1"
#下一页就是2,再下一页就是3
def getNewsListByPage(page):html = getHtml("https://voice.hupu.com/nba/"+str(page))soup = BeautifulSoup(html,"html.parser")news_list = soup.select(".list-hd")#print len(news_list)return news_list
pages_list = []#这里我只遍历前三页,我记得一共是12页?因为当天最新的新闻也不会在那么后面
for i in range(1,3):for news in getNewsListByPage(i):pages_list.append(news.h4.a['href'])#判断关键词是否在sql里面出现
def isContains(interests,sql):for i in range(len(interests)):if interests[i] in sql:return Truereturn False#对每一个单一的新闻链接请求 获取标题和新闻内容
#我是勇士球迷
interests = ["库里","勇士","杜兰特","克莱"]
email_content=''
flag = False
for i in range(len(pages_list)):#print "执行=======第"+str(i)+"条新闻"curr_html = getHtml(pages_list[i])curr_soup = BeautifulSoup(curr_html,"html.parser")#print len(curr_soup.select(".headline"))title = curr_soup.select(".headline")[0].get_text(strip=True).encode('utf-8')#print len(curr_soup.select(".artical-main-content"))content = curr_soup.select(".artical-main-content")[0].get_text(strip=True).encode('utf-8')# select_sql = "select * from hupu_nba_news where title like '%"+title+"%'"# #查询数据库是否有该条记录,否则插入# try:# cursor.execute(select_sql)# results = cursor.fetchall()# if len(results) > 0:# continue# except:# print "查询错误"# insert_sql = 'insert into hupu_nba_news(title,content) values("'+title+'","'+content+'");'# #print sql# if isContains(interests,insert_sql):# try:# # 执行sql语句# cursor.execute(insert_sql)# # 提交到数据库执行# db.commit()# except:# # Rollback in case there is any error# db.rollback()if isContains(interests,title):flag = Trueemail_content += '标题:'+title+'\n\n'+'内容:'+content+'\n\n\n'
#发送邮件
if flag:sendMail(['970014590@qq.com'],email_content)
print "done"
# db.close()
毕,见笑了,有什么不懂的可以在下面留言。
勇士总冠军!
python2爬取虎扑NBA的新闻标题和内容发送到QQ邮箱相关推荐
- Scrapy框架入门之爬取虎扑体育的新闻标题
下图是2018年5月25日火箭和勇士西决G5时,火箭赢下天王山之战,虎扑NBA的首页. 我这次做的爬虫项目的目的就是:爬取图片中红色边框里的文字,然后txt文本的方式保存到本地. 接下来我介绍一下我完 ...
- scrapy框架爬取虎扑论坛球队新闻
目录 Scrapy 框架 制作 Scrapy 爬虫 一共需要4步: Scrapy的安装介绍 Windows 安装方式 一. 新建项目(scrapy startproject) 二.明确目标(mySpi ...
- 利用python+scrapy+mysql爬取虎扑NBA球员数据存入数据库
大家好,这是我的第一篇博客,写的不好请见谅. 小编是个多年的NBA观众,最近正值季后赛的比赛,闲来无事,突发奇想,想利用刚刚所学的python著名爬虫框架scrapy采集一下全NBA的球员基本信息 ...
- 爬取虎扑NBA首页主干道推荐贴的一只小爬虫,日常爬不冷笑话解闷
虎扑是广大jrs的家园,步行街是这个家园里最繁华的地段.据称广大jrs平均学历985,步行街街薪30w起步. 大学时经舍友安利,开始了解虎扑,主要是看看NBA的一些资讯. 偶尔也上上这个破街,看看jr ...
- 爬取虎扑nba球员得分榜信息并存储至MongoDB数据库
Main.py: import re import requests from requests.exceptions import RequestException from config impo ...
- python爬取论坛图片_[python爬虫] Selenium定向爬取虎扑篮球海量精美图片
前言: 作为一名从小就看篮球的球迷,会经常逛虎扑篮球及湿乎乎等论坛,在论坛里面会存在很多精美图片,包括NBA球队.CBA明星.花边新闻.球鞋美女等等,如果一张张右键另存为的话真是手都点疼了.作为程序员 ...
- python爬取虎扑评论_python爬虫系列Selenium定向爬取虎扑篮球图片详解
前言: 作为一名从小就看篮球的球迷,会经常逛虎扑篮球及湿乎乎等论坛,在论坛里面会存在很多精美图片,包括NBA球队.CBA明星.花边新闻.球鞋美女等等,如果一张张右键另存为的话真是手都点疼了.作为程序员 ...
- python爬取虎扑论坛帖子数据
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...
- 爬取虎扑网站上NBA球员数据信息
爬虫案例的一般步骤 1.确定url地址(网页分析)爬虫程序就完成了一半 2.发送网络请求 requests(js\html\css) 3.数据解析(筛选数据) 4.保存数据(本地文件\数据库) 本次爬 ...
最新文章
- Goldengate介绍
- 玻璃体混浊不要转眼球
- linux xp镜像文件,让Windows XP镜像文件小一点儿(转)
- luogu P2216 [HAOI2007]理想的正方形 递推+ST表
- Visual C++编程中的文件操作
- IE6,7下实现white-space:pre-wrap;
- Word2013 设置默认缩进
- swfobject2.2参数详解
- php errorcode,errorCode.php
- 如何批量生成Code32条形码
- 怎么添改计算机程序,注册表怎么样添改注册表, – 手机爱问
- 笔记本和打印机不在一个网段,无线连接打印机的方法
- wp兼容了android应用程序,WP比安卓流畅 但为什么就不好用呢?
- Android修改R文件包名程,以及批量修改导入R文件
- 青村茶舍||“城乡居民基本养老保险”社会治理创新活动
- 常用的参数和非参数检验方法
- react中props详解
- SkyWalking 极简入门
- unity本地分数排行榜简单解决方案(Json)
- 【Python从零到壹】Python的字符串详解