無需發件箱Python自動發送郵件腳本,為我掙了上萬月的簡單項目


目錄

 

前言

 

目標

 

分析x0

 

分析x1

 

分析x2

 

代碼

 

結語

 


 

前言

 

大家好,我叫善念。着實是有些單子無法拿出來給大家分享,至於原因大家應該也猜得到,總是帶着點看不清的顏色。

 

其實談不上外包項目,不過是我自己制作的一些成品加密軟件,給出一張卡密而已。不過我還是願意分享給大家。因為難度並不高,而且很有價值空間,加上官方也一直不去和諧這個東西,所以呢,我就記錄一下這個實戰。

 

 

目標

 

網址為:Google注冊頁面(需開梯子)

很多人學習python,不知道從何學起。
很多人學習python,掌握了基本語法過后,不知道在哪里尋找案例上手。
很多已經做案例的人,卻不知道如何去學習更加高深的知識。
那么針對這三類人,我給大家提供一個好的學習平台,免費領取視頻教程,電子書籍,以及課程的源代碼!
QQ群:701698587
歡迎加入,一起討論 一起學習!

 

原理很簡單,就是利用Google的注冊接口發信,我一般稱之為大戰協議,或者大戰腳本吧,因為咱們今天做的確實是腳本。

 

 

確實有能力的可以去過一下JavaScript逆向。

 

分析x0

 

這個注冊流程就簡單了,輸入姓名、點擊改用當前電子郵件地址、輸入密碼、確認密碼、點擊下一步。

 

 

看我給大家示范一下會出現什么結果,先填好資料:

 

 

當我點擊下一步后:

 

 

emmmm,看到效果了吧。

 

 

分析x1

 

既然是說了做Python腳本,又是在網頁模擬填表,那么繼續利用咱們老框架selenium。

 

.....每次都要去以前的文章里面復制粘貼告訴你們如何配置selenium,看來到時候要專門寫篇selenium的教程了(以下都是從我老文章中復制的)。

 

插件的安裝

 

關於selenium這個模塊,咱們來重點介紹一下:

 

Selenium是一個用於Web應用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。

 

如果不能夠理解我就講點白話,如果你是web開發人員,開發好了幾百個網站,那么如果你認為地去一個個的測試BUG,是不是很浪費時間?而selenium這個框架就是用來模擬人去自動化操控瀏覽器的,那么是不是就節約了很多時間呢。

 

既然selenium能夠操控瀏覽器,那么它們之間必須要有一個橋梁,總不能無中生有吧?

 

那么操控的瀏覽器款式不一樣,中間的橋梁也是不一樣的。比如我更喜歡用chrome瀏覽器,那么咱們需要下載一個selenium與Chrome的橋梁——Chromedriver插件。

 

下載地址

 

 

下載與你當前谷歌瀏覽器版本最相近的Chromedriver

 

 

那么像我的話,下載

 

​即可。

 

Windows系統需下載32位,其它的自己看着辦。點進去下載win32即可。

 

 

那么如何讓Python與selenium連接起來呢,這里咱們需要配置一個環境變量,就是把Python與selenium處於同一個目錄:

 

 

到此為止,咱們的環境就搭建好了。

 

分析x2

 

那么這個東西,真的沒什么好講的,就是找到輸入框模擬輸入,然后模擬點擊下一步......沒啥任何技術含量。

 

加上UI設計也才沒到400行代碼,總之就是太簡單了啊。下面直接給大家上核心代碼吧。

 

代碼

 

        driver = webdriver.Chrome()
        wait = WebDriverWait(driver, 20)
        driver.delete_all_cookies()
        driver.get(f'https://accounts.google.com/signup/v2/webcreateaccount?hl=zh-TW&flowName=GlifWebSignIn&flowEntry=SignUp')
        # 輸入姓名
        xm = ''

        #

        x = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="lastName"]')))
        x.send_keys(xm.strip().split('----')[0])

        #
        m1 = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="firstName"]')))
        m1.send_keys(xm.strip().split('----')[1])

        # 管理
        gl = wait.until(
            EC.element_to_be_clickable((By.XPATH, '//*[@id="view_container"]/div/div/div[2]/div/div[1]/div/form/span/section/div/div/div[2]/div[3]/div/div/button'))
        )
        gl.click()
        # 輸入郵箱
        yx = ''
        # 郵箱
        yx1 = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="username"]')))
        yx1.send_keys(str(yx).strip())
        # 密碼輸入
        mmm = str(18508474044 + random.randint(0, 208474044)) + 'Aq'
        # 密碼
        mm = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="passwd"]/div[1]/div/div[1]/input')))
        mm.send_keys(mmm)

        # 密碼確認
        mmqr = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="confirm-passwd"]/div[1]/div/div[1]/input')))
        mmqr.send_keys(mmm)

        # 確認點擊
        qr = wait.until(
            EC.element_to_be_clickable((By.XPATH, '//*[@id="accountDetailsNext"]'))
        )
        qr.click()
        time.sleep(3.5)

        driver.quit()

 

 

結語

 

——可以說我不走正途,而我只是想告訴大家,水在沙漠里更值錢。

 

我並沒有包含任何私心,絕對的無償分享知識,你在怨我?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM