主要实现的功能就是:监控女神的 QQ空间,一旦女神发布新的说说,你的邮箱马上就会收到说说内容,是不是想了解一下

先看看代码运行效果图:

PS:只有你有一台云服务器你就可以把程序24h运行起来

直接上代码:

  1. # -*- coding:utf-8 -*-
  2. from bs4 import BeautifulSoup
  3. from selenium import webdriver
  4. import time
  5. import random
  6. import os
  7. # by 留歌36
  8. from email.mime.text import MIMEText
  9. import smtplib
  10. # 注意这里是配置你的源邮箱信息(发送邮件的邮箱)
  11. account = ""
  12. password = ""
  13. # 注意配置接收邮箱的信息
  14. to = "893861319@qq.com"
  15. # 注意是女神的qq号码
  16. qq="你的女神的QQ号码"
  17. #使用Selenium的webdriver实例化一个浏览器对象,在这里使用Phantomjs
  18. driver = webdriver.PhantomJS(executable_path=r"F:\\phantomjs.exe")
  19. # 登录QQ空间
  20. def get_shuoshuo(qq):
  21. try:
  22. # 注意更改http://user.qzone.qq.com/{女神的qq号码}/311
  23. driver.get('http://user.qzone.qq.com/你的女神的QQ号码/311'.format(qq))
  24. time.sleep(5)
  25. driver.find_element_by_id('login_div')
  26. except:
  27. print("#####,没有找到login_div,说明您在线########")
  28. sea()
  29. time.sleep(30)
  30. # 注意更改
  31. get_shuoshuo('你的女神的QQ号码')
  32. else:
  33. print("#####,找到login_div,说明您没有登陆,现在开始登陆########")
  34. # 如果页面存在登录的DIV,则模拟登录
  35. driver.switch_to.frame('login_frame')
  36. driver.find_element_by_id('switcher_plogin').click()
  37. driver.find_element_by_id('u').clear() # 选择用户名框
  38. # 注意更改为你的qq号码
  39. driver.find_element_by_id('u').send_keys('####')
  40. driver.find_element_by_id('p').clear()
  41. # 注意更改为你的qq密码
  42. driver.find_element_by_id('p').send_keys('#####')
  43. driver.find_element_by_id('login_button').click()
  44. time.sleep(3)
  45. print("#####登陆成功########")
  46. #注意更改为你女神的QQ号码
  47. get_shuoshuo('你的女神的QQ号码')
  48. #判断好友空间是否设置了权限,通过判断是否存在元素ID:QM_OwnerInfo_Icon
  49. driver.implicitly_wait(3)
  50. def sea():
  51. try:
  52. driver.find_element_by_id('QM_OwnerInfo_Icon')
  53. b = True
  54. except:
  55. b = False
  56. #如果有权限能够访问到说说页面,那么定位元素和数据,并解析
  57. if b == True:
  58. driver.switch_to.frame('app_canvas_frame')
  59. content = driver.find_elements_by_css_selector('.content')
  60. stime = driver.find_elements_by_css_selector('.c_tx.c_tx3.goDetail')
  61. shuoshuo = content[0].text
  62. shijian= stime[0].text
  63. context = '说说内容为:'+ shuoshuo
  64. # context = '说说内容为:' + shuoshuo + " " + '发表时间是:' + shijian
  65. cun = ''.join(context)
  66. if toCheck(cun):
  67. # 调用发送邮件的函数
  68. print("##########准备发送邮件##########")
  69. send(to, "女神空间更新啦~~", context)
  70. print("##########发送邮件完成##########")
  71. print("##########准备保存说说##########")
  72. toSave(cun)
  73. print("##########保存说说完成##########")
  74. else:
  75. print('***还没有发布新的说说***')
  76. # driver.close()
  77. # driver.quit()
  78. # 发送邮件的函数
  79. def send(to, title, content):
  80. msg = MIMEText(content)
  81. msg['Content-Type'] = 'text/plain; charset="utf-8"'
  82. msg['Subject'] = title
  83. msg['From'] = account
  84. msg['To'] = to
  85. try:
  86. smtp = smtplib.SMTP()
  87. smtp.connect('smtp.163.com')
  88. smtp.login(account, password)
  89. smtp.sendmail(account, to, msg.as_string())
  90. smtp.close()
  91. except Exception as e :
  92. print (str(e))
  93. # 检查是否有新的内容发布
  94. def toCheck(data):
  95. if not os.path.exists('shuoshuo.txt'):
  96. return True
  97. else:
  98. f = open('shuoshuo.txt','r')
  99. existshuoshuo= f.readlines();
  100. if data + '\n' in existshuoshuo:
  101. return False
  102. else:
  103. return True
  104. # 保存说说内容到本地
  105. def toSave(text):
  106. f = open('shuoshuo.txt' , mode='a')
  107. f.write(text+ '\n')
  108. f.close()
  109. #让代码在服务器上一直跑着
  110. while True:
  111. get_shuoshuo(qq)

如果你有什么好的建议可以留言呢

有什么问题也可以留言,我会尽量第一时间回复你的

Python 爬虫监控女神的QQ空间新的说说,实现邮箱发送的更多相关文章

  1. Python 爬虫监控女神的QQ空间新的说说,实现秒赞,并发送说说内容到你的邮箱

    这个文章主要是在前一篇文章上新增了说说秒赞的功能 前一篇文章可以了解一下 那么,这次主要功能就是 监控女神的 QQ空间,一旦女神发布新的说说,马上点赞,你的邮箱马上就会收到说说内容,是不是想了解一下 ...

  2. 教你用python爬虫监控教务系统,查成绩快人一步!

    教你用python爬虫监控教务系统,查成绩快人一步!这几天考了大大小小几门课,教务系统又没有成绩通知功能,为了急切想知道自己挂了多少门,于是我写下这个脚本. 设计思路:设计思路很简单,首先对已有的成绩 ...

  3. 用python爬虫监控CSDN博客阅读量

    作为一个博客新人,对自己博客的访问量也是很在意的,刚好在学python爬虫,所以正好利用一下,写一个python程序来监控博客文章访问量 效果 代码会自动爬取文章列表,并且获取标题和访问量,写入exc ...

  4. python+selenium+requests爬取qq空间相册时遇到的问题及解决思路

    最近研究了下用python爬取qq空间相册的问题,遇到的问题及解决思路如下: 1.qq空间相册的访问需要qq登录并且需是好友,requests模块模拟qq登录略显麻烦,所以采用selenium的dri ...

  5. Python爬虫爬取一篇韩寒新浪博客

    网上看到大神对Python爬虫爬到非常多实用的信息,认为非常厉害.突然对想学Python爬虫,尽管自己没学过Python.但在网上找了一些资料看了一下,看到爬取韩寒新浪博客的视频.共三集,第一节讲爬取 ...

  6. Python爬虫实战:使用Selenium抓取QQ空间好友说说

    前面我们接触到的,都是使用requests+BeautifulSoup组合对静态网页进行请求和数据解析,若是JS生成的内容,也介绍了通过寻找API借口来获取数据. 但是有的时候,网页数据由JS生成,A ...

  7. python爬虫实例大全

    WechatSogou [1]- 微信公众号爬虫.基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典. DouBanSpider [2]- ...

  8. Python爬虫项目整理

    WechatSogou [1]- 微信公众号爬虫.基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典. DouBanSpider [2]- ...

  9. 32个Python爬虫项目让你一次吃到撑

    整理了32个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心.所有链接指向GitHub,祝大家玩的愉快~O(∩_∩)O WechatSogou [1]- 微信公众 ...

随机推荐

  1. 梳理commons-lang工具包

    目录 概述 builder包 NumberUtils 转换 String 类型为原始类型 截取小数位数 创建包装类型 最大值 | 最小值 关于数字的检查 mutable包 relect包 Constr ...

  2. 「每日五分钟,玩转JVM」:对象从哪来

    面向对象 众所周知,Java是一门面向对象的高级编程语言,那么现在问题来了,对象从哪来呢?有些人会说通过new关键字来创建一个对象,说的很好,本篇我们就来解密在new一个对象的过程中,JVM都给我们做 ...

  3. TensorFlow Distribution(分布式中的数据读取和训练)

    本文目的 在介绍estimator分布式的时候,官方文档由于版本更新导致与接口不一致.具体是:在estimator分布式当中,使用dataset作为数据输入,在1.12版本中,数据训练只是datase ...

  4. tesseract-ocr下载

    参考:http://www.tuicool.com/articles/E3MNziM 1.下载地址:https://sourceforge.net/projects/tesseract-ocr/fil ...

  5. atcoder C - Snuke and Spells(模拟+思维)

    题目链接:http://agc017.contest.atcoder.jp/tasks/agc017_c 题解:就是简单的模拟一下就行.看一下代码就能理解 #include <iostream& ...

  6. lightoj 1097 - Lucky Number(线段树)

    Lucky numbers are defined by a variation of the well-known sieve of Eratosthenes. Beginning with the ...

  7. uiautomator2 实现App九宫格解锁

    App九宫格解锁 之前在testerhome社区看见codeskyblue大佬写过一种方法,但是这种办法存在一个弊端,那就是多个点的坐标是写死的,也就是说要是换了部手机,九宫格解锁就行不通了,于是就想 ...

  8. Django系列---使用MySql数据库

    目录 1. 创建数据库 1.1. 使用utf8mb4编码 1.1.1. 确定mysql的配置文件 1.1.2. 修改配置文件 1.1.3. 重启数据库服务,检查相关字段 1.1.4. 新建数据库 1. ...

  9. 搭建自己的技术博客系列(一)使用 hexo 搭建一个精美的静态博客

    1.安装 Git 和 nodejs https://hexo.io/zh-cn/docs/

  10. 树莓派4B 安装CentOS

    刚入手了一个树莓派4B替换掉旧的3B搭Nas.吐槽下3B的网卡和USB速度真的太慢. 虽然官方推荐的是Debina,由于习惯了CentOS不想增加学习成本,我还是决定用CentOS. 镜像下载地址:h ...