这个文章主要是在前一篇文章上新增了说说秒赞的功能

前一篇文章可以了解一下

那么,这次主要功能就是

监控女神的 QQ空间,一旦女神发布新的说说,马上点赞,你的邮箱马上就会收到说说内容,是不是想了解一下

直接上代码吧:

# -*- coding:utf-8 -*-
from selenium import webdriver
import time
import os from email.mime.text import MIMEText
import smtplib # by 留歌36 #注意配置你的原始邮箱(发送邮件的邮箱)
account = "###"
password = "###" #注意配置你的接收邮箱
to = "###" #注意配置你女神的邮箱
qq="###" #使用Selenium的webdriver实例化一个浏览器对象,在这里使用Phantomjs
driver = webdriver.PhantomJS(executable_path=r"F:\\phantomjs.exe") # 登录QQ空间
def get_shuoshuo(qq):
try:
#注意配置你的女神的QQ号码http://user.qzone.qq.com/{你的女神的qq号码}/311'.format(qq)
driver.get('http://user.qzone.qq.com/你的女神的qq号码/311'.format(qq))
time.sleep(5)
driver.find_element_by_id('login_div')
except:
print("#####,没有找到login_div,说明您在线########")
sea()
time.sleep(10)
#注意配置你女神的qq号码
get_shuoshuo('###')
else:
print("#####,找到login_div,说明您没有登陆,现在开始登陆########")
# 如果页面存在登录的DIV,则模拟登录
driver.switch_to.frame('login_frame')
driver.find_element_by_id('switcher_plogin').click()
driver.find_element_by_id('u').clear() # 选择用户名框
#注意配置你的qq账号
driver.find_element_by_id('u').send_keys('###')
driver.find_element_by_id('p').clear()
#注意配置你的qq密码
driver.find_element_by_id('p').send_keys('###')
driver.find_element_by_id('login_button').click()
time.sleep(3)
print("#####登陆成功########")
#注意配置你女神的qq账号
get_shuoshuo('###')
#判断好友空间是否设置了权限,通过判断是否存在元素ID:QM_OwnerInfo_Icon
driver.implicitly_wait(3) def sea():
try:
driver.find_element_by_id('QM_OwnerInfo_Icon')
b = True
except:
b = False
#如果有权限能够访问到说说页面,那么定位元素和数据,并解析
if b == True:
driver.switch_to.frame('app_canvas_frame')
content = driver.find_elements_by_css_selector('.content')
stime = driver.find_elements_by_css_selector('.c_tx.c_tx3.goDetail')
btns = driver.find_elements_by_css_selector('.qz_like_btn.c_tx.mr8') shuoshuo = content[0].text
shijian= stime[0].text
context = '说说内容为:'+ shuoshuo
# context = '说说内容为:' + shuoshuo + " " + '发表时间是:' + shijian
cun = ''.join(context)
if toCheck(cun):
# 调用点赞的函数
print("##########准备点赞##########")
dian(btns)
print("##########点赞完成##########")
# 调用发送邮件的函数
print("##########准备发送邮件##########")
send(to, "女神空间更新啦~~", context)
print("##########发送邮件完成##########")
print("##########准备保存说说##########")
toSave(cun)
print("##########保存说说完成##########")
else:
print('pass,还没有更新新的说说') def dian(btns):
n = 0;
for btn in btns:
try:
if btn.is_displayed() == True:
if btn.text.find(u"赞") == 0:
btn.click()
n += 1
print ("点赞", n) except:
print("已经点赞过了第一条说说")
pass def send(to, title, content):
msg = MIMEText(content)
msg['Content-Type'] = 'text/plain; charset="utf-8"'
msg['Subject'] = title
msg['From'] = account
msg['To'] = to
try:
smtp = smtplib.SMTP()
smtp.connect('smtp.163.com')
smtp.login(account, password)
smtp.sendmail(account, to, msg.as_string())
smtp.close()
except Exception as e :
print (str(e)) def toCheck(data):
if not os.path.exists('lhshuoshuo.txt'):
return True
else:
f = open('lhshuoshuo.txt','r')
existshuoshuo= f.readlines();
if data + '\n' in existshuoshuo:
return False
else:
return True def toSave(text):
f = open('lhshuoshuo.txt' , mode='a')
f.write(text+ '\n')
f.close() #让代码在服务器上一直跑着
while True:
get_shuoshuo(qq)

还是那样,如果你有什么好的建议可以留言呢

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

Python 爬虫监控女神的QQ空间新的说说,实现秒赞,并发送说说内容到你的邮箱的更多相关文章

  1. Python 爬虫监控女神的QQ空间新的说说,实现邮箱发送

    主要实现的功能就是:监控女神的 QQ空间,一旦女神发布新的说说,你的邮箱马上就会收到说说内容,是不是想了解一下 先看看代码运行效果图: PS:只有你有一台云服务器你就可以把程序24h运行起来 直接上代 ...

  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爬虫实战(六)--------新浪微博(爬取微博帐号所发内容,不爬取历史内容)

    相关代码已经修改调试成功----2017-4-13 详情代码请移步我的github:https://github.com/pujinxiao/sina_spider 一.说明 1.目标网址:新浪微博 ...

  7. Python爬虫小实践:爬取任意CSDN博客所有文章的文字内容(或可改写为保存其他的元素),间接增加博客访问量

    Python并不是我的主业,当初学Python主要是为了学爬虫,以为自己觉得能够从网上爬东西是一件非常神奇又是一件非常有用的事情,因为我们可以获取一些方面的数据或者其他的东西,反正各有用处. 这两天闲 ...

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

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

  9. python爬虫实例大全

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

随机推荐

  1. Spring学习之旅(十二)--持久化框架

    对于本职工作来说 JDBC 就可以很好的完成,但是当我们对持久化的需求变得更复杂时,如: 延迟加载 预先抓取 级联 JDBC 就不能满足了,我们需要使用 ORM框架 来实现这些需求. Spring 对 ...

  2. CODE[VS] 3269 混合背包

    3269 混合背包  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 Description 背包体积为V ,给出N ...

  3. DAX 第八篇:表连接

    表连接是指两张表根据关联字段,组合成一个数据集.表连接不仅可以利用数据模型中已有的关系,而且可以利用DAX表达式基于表的任意列定义连接条件.因此,在DAX中,实现表与表之间的连接,有两种方式: 第一种 ...

  4. CodeBenchmark之压力测试详解

    CodeBenchmark是一款高性能可视化的并发测试组件,通过组件可以对任意逻辑代码或服务进行并发测试:组件最终通过可视化的方式来显示测试结果,在测试结果中可以看到具体的并发情况和处理延时的分布.组 ...

  5. 【LeetCode】116#填充同一层的兄弟节点

    题目描述 给定一个二叉树 struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *next; } 填充 ...

  6. Python(Head First)学习笔记:六

    6 定制数据对象:数据结构自定义 打包代码与数据 james2.txt: James Lee,2002-3-14,2-34,3:21,2.34,2.45,3.01,2:01,2:01,3:10,2-2 ...

  7. 洛谷 P1181数列分段Section I

    星爆气流(弃疗)斩!                                            ——<刀剑神域> 题目:https://www.luogu.org/proble ...

  8. kafka topic消息分配partition规则(Java源码)

    我们知道Kafka 的消息通过topic进行分类.topic可以被分为若干个partition来存储消息.消息以追加的方式写入partition,然后以先入先出的顺序读取. 下面是topic和part ...

  9. Centos7 C++ 安装使用googletest单元测试

    废话不多说,直接开始吧. 环境说明 系统环境:centos7.0 g++ 版本: g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36) 查看方法: g++ -vers ...

  10. 百度地图WEB端判断用户是否在网格范围内

    在pc端设置商家的配送范围,用户在下单时,根据用户设置的配送地点判断是否在可配送范围内,并给用户相应的提示. 下面说下我的实现思路: 1.用百度地图在PC端设置配送范围,可拖拽选择 2.根据用户设置的 ...