1. 程式人生 > >日常用Python來監控女神的QQ空間!就算她把我遮蔽了,也無法阻止我!

日常用Python來監控女神的QQ空間!就算她把我遮蔽了,也無法阻止我!

誰還沒暗戀過哪個妹子啊!當然那些暗戀的妹子應該稱做為女生,今天就教大家一個簡單的算是爬蟲的案例吧!主要實現的功能就是:監控女神的 QQ空間,一旦女神釋出新的說說,你的郵箱馬上就會收到說說內容,是不是想了解一下

先看看程式碼執行效果圖:

Python學習群865597862!原始碼已經展示給了大家~

利用Python來監控女神的QQ空間!就算她遮蔽了,也阻止不了我!

利用Python來監控女神的QQ空間!就算她遮蔽了,也阻止不了我!

PS:只有你有一臺雲伺服器你就可以把程式24h執行起來

利用Python來監控女神的QQ空間!就算她遮蔽了,也阻止不了我!

直接上程式碼:

-- coding:utf-8 --

from bs4 import BeautifulSoup

from selenium import webdriver

import time

import random

import os

by 留歌36

from email.mime.text import MIMEText

import smtplib

注意這裡是配置你的源郵箱資訊(傳送郵件的郵箱)

account = ""

password = ""

注意配置接收郵箱的資訊

to = "*********@qq.com"

注意是女神的qq號碼

qq="你的女神的QQ號碼"

使用Selenium的webdriver例項化一個瀏覽器物件,在這裡使用Phantomjs

driver = webdriver.PhantomJS(executable_path=r"F:\phantomjs.exe")

登入QQ空間

def get_shuoshuo(qq):

try:

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(30)

注意更改

get_shuoshuo('你的女神的QQ號碼')

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('你的女神的QQ號碼')

判斷好友空間是否設定了許可權,通過判斷是否存在元素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')

shuoshuo = content[0].text

shijian= stime[0].text

context = '說說內容為:'+ shuoshuo

context = '說說內容為:' + shuoshuo + " " + '發表時間是:' + shijian

cun = ''.join(context)

if toCheck(cun):

呼叫傳送郵件的函式

print("##########準備傳送郵件##########")

send(to, "女神空間更新啦~~", context)

print("##########傳送郵件完成##########")

print("##########準備儲存說說##########")

toSave(cun)

print("##########儲存說說完成##########")

else:

print('還沒有釋出新的說說')

driver.close()

driver.quit()

傳送郵件的函式

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('shuoshuo.txt'):

return True

else:

f = open('shuoshuo.txt','r')

existshuoshuo= f.readlines();

if data + ' ' in existshuoshuo:

return False

else:

return True

儲存說說內容到本地

def toSave(text):

f = open('shuoshuo.txt' , mode='a')

f.write(text+ ' ')

f.close()

讓程式碼在伺服器上一直跑著

while True:

get_shuoshuo(qq)

你以為就完了嗎?當然沒有啦,光看到她的動態有啥用,肯定是要給女生的每條動態都自動點贊啊!知道你心裡有她!

廢話不多說!直接上程式碼吧!

利用Python來監控女神的QQ空間!就算她遮蔽了,也阻止不了我!

原始碼如果看不清,請儲存到本地,如果還是看不清,就私信小編!要自動給女神點讚的程式碼,小編看到會私信發給你的哦!至於遮蔽了的話,暫時用Python還沒研究出來,不過女神有張良計,我有過牆梯嘛!方法還有其他的方法的!不外傳哦!嘿嘿,萬一騰訊搞我怎麼辦!

作者:Python小哥哥 連結:https://www.jianshu.com/p/18e1dd6f74a4 來源:簡書 簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。