Python 爬蟲監(jiān)控女神的QQ空間新的說說,實現(xiàn)秒贊,并發(fā)送說說內容到你的郵箱

這個文章主要是在前一篇文章上新增了說說秒贊的功能

前一篇文章可以了解一下

那么,這次主要功能就是

監(jiān)控女神的 QQ空間,一旦女神發(fā)布新的說說,馬上點贊,你的郵箱馬上就會收到說說內容,是不是想了解一下

直接上代碼吧:

# -*- coding:utf-8 -*-
from selenium import webdriver
import time
import os

from email.mime.text import MIMEText
import smtplib

# by 留歌36

#注意配置你的原始郵箱(發(fā)送郵件的郵箱)
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,說明您沒有登陸,現(xiàn)在開始登陸########")
        # 如果頁面存在登錄的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
    #如果有權限能夠訪問到說說頁面,那么定位元素和數(shù)據(jù)好爬,并解析
    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 + "       " + '發(fā)表時間是:' + shijian
        cun = ''.join(context)
        if toCheck(cun):
            # 調用點贊的函數(shù)
            print("##########準備點贊##########")
            dian(btns)
            print("##########點贊完成##########")
            # 調用發(fā)送郵件的函數(shù)
            print("##########準備發(fā)送郵件##########")
            send(to, "女神空間更新啦~~", context)
            print("##########發(fā)送郵件完成##########")
            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)

還是那樣,如果你有什么好的建議可以留言呢
有什么問題也可以留言,我會盡量第一時間回復你的

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市甥啄,隨后出現(xiàn)的幾起案子存炮,更是在濱河造成了極大的恐慌,老刑警劉巖蜈漓,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件穆桂,死亡現(xiàn)場離奇詭異,居然都是意外死亡融虽,警方通過查閱死者的電腦和手機享完,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來有额,“玉大人般又,你說我怎么就攤上這事∥∮樱” “怎么了茴迁?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長萤衰。 經常有香客問我堕义,道長,這世上最難降的妖魔是什么脆栋? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任倦卖,我火速辦了婚禮洒擦,結果婚禮上,老公的妹妹穿的比我還像新娘怕膛。我一直安慰自己熟嫩,他們只是感情好,可當我...
    茶點故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布嘉竟。 她就那樣靜靜地躺著邦危,像睡著了一般。 火紅的嫁衣襯著肌膚如雪舍扰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天希坚,我揣著相機與錄音边苹,去河邊找鬼。 笑死裁僧,一個胖子當著我的面吹牛个束,可吹牛的內容都是我干的。 我是一名探鬼主播聊疲,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼茬底,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了获洲?” 一聲冷哼從身側響起阱表,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎贡珊,沒想到半個月后最爬,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡门岔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年爱致,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寒随。...
    茶點故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡糠悯,死狀恐怖,靈堂內的尸體忽然破棺而出妻往,到底是詐尸還是另有隱情互艾,我是刑警寧澤,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布蒲讯,位于F島的核電站忘朝,受9級特大地震影響,放射性物質發(fā)生泄漏判帮。R本人自食惡果不足惜局嘁,卻給世界環(huán)境...
    茶點故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一溉箕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧悦昵,春花似錦肴茄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至棋凳,卻和暖如春拦坠,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背剩岳。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工贞滨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人拍棕。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓晓铆,卻偏偏與公主長得像,于是被迫代替她去往敵國和親绰播。 傳聞我的和親對象是個殘疾皇子骄噪,可洞房花燭夜當晚...
    茶點故事閱讀 43,509評論 2 348

推薦閱讀更多精彩內容

  • 歡迎關注我的公眾號:讀書主義 更多精彩等著你! 這個讀書方法蠢箩,可能會顛覆你對讀書以往的認知|開卷 或許讀書已經成為...
    米米粒粒閱讀 34,537評論 9 209
  • 這個讀書方法链蕊,可能會顛覆你對讀書以往的認知|開卷 或許讀書已經成為你的一種生活方式,在讀書中也構建了一個屬于自己的...
    yuqifuli閱讀 5,476評論 3 13
  • R·閱讀原文片段 《關鍵對話》 盡管我們很難把人際互動中諸多事件的特定順序描述得像關鍵對話那樣清晰流暢忙芒,但有一點我...
    宊博士閱讀 200評論 2 0
  • “七月份的尾巴示弓,它是獅子座,八月份的前奏呵萨,它是獅子座奏属。” ...
    斷了線的畫閱讀 812評論 4 5
  • ??如果API要可用潮峦,就必須對其進行文檔化囱皿。傳統(tǒng)上,API文檔是手工生成的忱嘹,保持與代碼的同步是一件苦差事嘱腥。Java...
    難以置信的優(yōu)雅閱讀 438評論 0 0