日常用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 來源:簡書 簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。