python模擬自動(dòng)登錄github洪橘,設(shè)置郵箱提醒


[TOC]

Python模擬Github登陸沟娱,詳情請(qǐng)查看源碼點(diǎn)鏈接進(jìn)入Python-Spiders文集,模擬Github登陸可以分為五個(gè)操作步驟堪置,步驟如下:

  • 模擬Github登陸步驟:

1、請(qǐng)求頭:self.headers,請(qǐng)求url剖毯;
2、設(shè)置session教馆,保存登陸信息cookies逊谋,生成github_cookie文件;
3土铺、POST表單提交胶滋,請(qǐng)求數(shù)據(jù)格式post_data;
4悲敷、authenticity_token獲染啃簟;
5后德、在個(gè)人中心驗(yàn)證判斷是否登陸成功部宿,輸出個(gè)人中心信息即登陸成功。

一瓢湃、獲取請(qǐng)求頭

① 在瀏覽器中敲入https://github.com/login理张,同時(shí)右擊頁面查看檢查,如下圖所示:

image.png

Python模擬Github登陸

② 點(diǎn)擊紅框內(nèi)login進(jìn)入如下圖所示:


image.png

Python模擬Github登陸

③ 源碼中對(duì)應(yīng)部分:

# 設(shè)置請(qǐng)求頭
self.headers = {
    'Referer': 'https://github.com/',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36',
    'Host': 'github.com'
}

二绵患、保存登陸信息cookies

① 設(shè)置session

② 保存登陸信息cookies雾叭,生成github_cookie文件,用cookies保存的信息加載個(gè)人設(shè)置落蝙,驗(yàn)證是否模擬登錄成功

③ 源碼中對(duì)應(yīng)部分:

# 設(shè)置session
self.session = requests.session()
# 生成github_cookie文件
self.session.cookies = cookielib.LWPCookieJar(filename='github_cookie')

三织狐、POST表單提交

① POST表單提交字段獲取,如下圖所示:


image.png

Python模擬Github登陸

② 源碼中對(duì)應(yīng)部分:

    #登陸時(shí)表單提交參數(shù)
    Form Data:
         commit:Sign in
         utf8:?
         authenticity_token:yyZprIm4aghZ0u7r25ymZjisfTjGdUAdDowD9fKHM0oUvHD1WjUHbn2sW0Cz1VglZWdGno543jod2M8+jwLv6w==
         login:*****
         password:******

四筏勒、authenticity_token獲取

① 在瀏覽器中敲入https://github.com/login移迫,獲取網(wǎng)頁文本文件

② 源碼中對(duì)應(yīng)部分:

# 獲取authenticity_token
  def get_token(self):
        response = self.session.get(self.loginUrl, headers=self.headers)
        html = etree.HTML(response.text)
        authenticity_token = html.xpath('//div/input[2]/@value')
        print(authenticity_token)
        return authenticity_token

五、在個(gè)人中心驗(yàn)證判斷是否登陸成功

在個(gè)人中心驗(yàn)證判斷是否登陸成功奏寨,輸出個(gè)人中心信息即登陸成功起意,如下圖:


image.png

Python模擬Github登陸

即模擬GitHub模擬登陸成功。

六病瞳、使用QQ郵箱發(fā)送郵件提醒

這里用到了Python的兩個(gè)包來發(fā)送郵件: smtplib 和 email 揽咕。
Python 的 email 模塊里包含了許多實(shí)用的郵件格式設(shè)置函數(shù)悲酷,可以用來創(chuàng)建郵件“包裹”。使用的 MIMEText 對(duì)象亲善,為底層的 MIME(Multipurpose InternetMailExtensions设易,多用途互聯(lián)網(wǎng)郵件擴(kuò)展類型)協(xié)議傳輸創(chuàng)建了一封空郵件,最后通過高層的SMTP 協(xié)議發(fā)送出去蛹头。 MIMEText 對(duì)象 msg 包括收發(fā)郵箱地址顿肺、郵件正文和主題,Python 通過它就可以創(chuàng)建一封格式正確的郵件渣蜗。smtplib 模塊用來設(shè)置服務(wù)器連接的相關(guān)信息屠尊。

要想通過QQ郵箱來發(fā)送郵件,需要開啟QQ郵箱的設(shè)置-賬戶里SMTP服務(wù)耕拷,接下來會(huì)通過發(fā)送短信驗(yàn)證來獲得授權(quán)碼讼昆,有了授權(quán)碼后就可以在代碼里添加了。


image.png

我新建了一個(gè)senemil.py文件用于測(cè)試


#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2018-05-07 19:55:30
# @Author  : HannochTao (hannochtao@163.com)
# @Link    : http://www.imstudy.online
# @Version : $Id$

import smtplib
from email.mime.text import MIMEText
from email.header import Header

def send_mail():
    
    msg_from='790152894@qq.com'  #發(fā)送方郵箱
    passwd='meeyzbaeowtbbdgf'    # 口令,QQ郵箱是輸入授權(quán)碼骚烧,在qq郵箱設(shè)置 里用驗(yàn)證過的手機(jī)發(fā)送短信獲得浸赫,不含空格
    msg_to='hannochtao@163.com'  #收件人郵箱
                                
    subject="python郵件測(cè)試"     #主題     
    content='''這是我使用python smtplib及email模塊發(fā)送的郵件'''
    msg = MIMEText(content)
    msg['Subject'] = subject
    msg['From'] = msg_from
    msg['To'] = msg_to
    try:
        s = smtplib.SMTP_SSL("smtp.qq.com",465)
        s.login(msg_from, passwd)
        s.sendmail(msg_from, msg_to, msg.as_string())
        print ("發(fā)送成功")
    except Exception as e:
        print ("Error: 無法發(fā)送郵件")
        print(e)
    

if __name__ == '__main__':
    send_mail()
    #meil()

網(wǎng)易郵箱接受到了QQ郵箱發(fā)送的郵件,如下圖:


image.png

整合了全部代碼之后赃绊。


image.png

完整源代碼:https://github.com/hannoch/pythoncode

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末既峡,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子碧查,更是在濱河造成了極大的恐慌运敢,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件么夫,死亡現(xiàn)場(chǎng)離奇詭異者冤,居然都是意外死亡肤视,警方通過查閱死者的電腦和手機(jī)档痪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來邢滑,“玉大人腐螟,你說我怎么就攤上這事±Ш螅” “怎么了乐纸?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長摇予。 經(jīng)常有香客問我汽绢,道長,這世上最難降的妖魔是什么侧戴? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任宁昭,我火速辦了婚禮跌宛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘积仗。我一直安慰自己疆拘,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布寂曹。 她就那樣靜靜地躺著哎迄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪隆圆。 梳的紋絲不亂的頭發(fā)上漱挚,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音渺氧,去河邊找鬼棱烂。 笑死,一個(gè)胖子當(dāng)著我的面吹牛阶女,可吹牛的內(nèi)容都是我干的颊糜。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼秃踩,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼衬鱼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起憔杨,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤鸟赫,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后消别,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抛蚤,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年寻狂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了岁经。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蛇券,死狀恐怖缀壤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情纠亚,我是刑警寧澤塘慕,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站蒂胞,受9級(jí)特大地震影響图呢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一蛤织、第九天 我趴在偏房一處隱蔽的房頂上張望拥娄。 院中可真熱鬧,春花似錦瞳筏、人聲如沸稚瘾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽摊欠。三九已至,卻和暖如春柱宦,著一層夾襖步出監(jiān)牢的瞬間些椒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來泰國打工掸刊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留免糕,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓忧侧,卻偏偏與公主長得像石窑,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蚓炬,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345