Python爬虫学习(简单的模拟登陆(二))
2016-02-08 07:59
736 查看
用cookie模拟新浪微博登录,可以对某人新浪微博是否更新进行实时的邮件监控
#-*-coding:utf8-*- import smtplib from email.mime.text import MIMEText import requests from lxml import etree import os import time import sys reload(sys) sys.setdefaultencoding('utf-8') ######################################################################################### class mailhelper(object): def __init__(self): self.mail_host="smtp.xxxx.com" #设置服务器 self.mail_user="xxxxxx" #用户名 self.mail_pass="xxxxxx" #密码 self.mail_postfix="xxxx.com" #发件箱的后缀 def send_mail(self,to_list,sub,content): me="xxoohelper"+"<"+self.mail_user+"@"+self.mail_postfix+">" msg = MIMEText(content,_subtype='plain',_charset='utf-8') msg['Subject'] = sub msg['From'] = me msg['To'] = ";".join(to_list) try: server = smtplib.SMTP() server.connect(self.mail_host) server.login(self.mail_user,self.mail_pass) server.sendmail(me, to_list, msg.as_string()) server.close() return True except Exception, e: print str(e) return False ############################################################################################################3 class xxoohelper(object): def __init__(self): self.url = 'http://weibo.cn/xxxxxx' #请输入准备抓取的微博地址 def getSource(self): html = requests.get(self.url).content return html def getData(self,html): data = {"Cookie":"需要抓取的Cookies"} return data def getContent(self,data): newhtml = requests.get(self.url,cookies = data).content new_selector = etree.HTML(newhtml) content = new_selector.xpath('//span[@class="ctt"]') newcontent = unicode(content[2].xpath('string(.)')).replace('http://','') sendtime = new_selector.xpath('//span[@class="ct"]/text()')[0] sendtext = newcontent + sendtime return sendtext def tosave(self,text): f= open('weibo.txt','a') f.write(text + '\n') f.close() def tocheck(self,data): if not os.path.exists('weibo.txt'): return True else: f = open('weibo.txt', 'r') existweibo = f.readlines() if data + '\n' in existweibo: return False else: return True if __name__ == '__main__': mailto_list=['xxxxxx@qq.com'] #此处填写接收邮件的邮箱 helper = xxoohelper() while True: source = helper.getSource() data = helper.getData(source) content = helper.getContent(data) if helper.tocheck(content): if mailhelper().send_mail(mailto_list,u"女神更新啦",content): print u"发送成功" else: print u"发送失败" helper.tosave(content) print content else: print u'pass' time.sleep(10)
相关文章推荐
- [Python 与 炒股] TuShare 使用篇之三
- python判断list是否为空
- Python int与string之间的转化
- 《笨办法学Python》 第35课手记
- Python爬虫基础实例教程
- 金融科普 为什么连交易员也要学Python?
- 安装 Scrapy python抓取工具
- Python 16.1 使用SQLite
- Python中的条件判断语句基础学习教程
- 15个最受欢迎的Python开源框架
- python_简单的ssh客户端
- python一段代码 感受一下
- [Python 与 炒股] TuShare 分析篇
- python的splinter实现浏览器操作
- Python爬虫学习(简单的模拟登陆(一))
- [Python 与 炒股] TuShare 使用篇之二
- [Python 与 炒股] TuShare 使用篇
- Python学习Day02
- Python 第十六章 访问数据库
- [Python 与 炒股] TuShare 安装篇