日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
如何用Python實(shí)現(xiàn)電子郵件的自動(dòng)化

前言

創(chuàng)新互聯(lián)建站自2013年創(chuàng)立以來(lái),先為靖江等服務(wù)建站,靖江等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為靖江企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

用Python自動(dòng)化日常任務(wù)很容易。通過(guò)api和庫(kù)的結(jié)合,您可以輕松地設(shè)置系統(tǒng)來(lái)抓取網(wǎng)站、發(fā)送電子郵件、管理數(shù)據(jù)和分析。

在本文中,我們將概述如何編寫(xiě)一個(gè)Python腳本,該腳本可以下載一組特定的公共數(shù)據(jù),然后將其上傳到電子郵件中,并將其發(fā)送給任何需要的人。

這將使您熟悉使用Python請(qǐng)求庫(kù)和Gmail API。因此,如果您希望將來(lái)使用Python自動(dòng)處理電子郵件,這是一個(gè)很好的學(xué)習(xí)起點(diǎn)。

用Python下載文件

對(duì)于第一步,我們將需要使用HTTP請(qǐng)求實(shí)際下載數(shù)據(jù)文件。

在本例中,我們將要下載的文件甚至在下面的鏈接中有一個(gè)簡(jiǎn)單的端點(diǎn)。因此,您不需要使用Selenium這樣的庫(kù)來(lái)嘗試單擊下載按鈕。通常,如果有一個(gè)URL,那么使用鏈接下載就非常容易。

https://data.medicaid.gov/api/views/u72p-j37s/rows.json?accessType=DOWNLOAD

這個(gè)文件提供關(guān)于醫(yī)療補(bǔ)助和個(gè)人登記的信息。這對(duì)醫(yī)療保健提供者來(lái)說(shuō)是有價(jià)值的,他們可以將其與內(nèi)部數(shù)據(jù)聯(lián)系起來(lái),幫助更好地了解他們的市場(chǎng)。

為了下載它,我們將使用函數(shù)requests.get()。這將允許我們使用HTTP請(qǐng)求將數(shù)據(jù)拉到我們指定的URL。

例如,你可以看看下面的腳本:

 
 
 
  1. # Part 1: Fetch the data.?
  2. # Get the webpage, store it in a Response object and assign the text
  3. # About: https://requests.readthedocs.io/en/master/api/#requests.Response?
  4. # This URL contains the .csv download of
  5. # 'https://catalog.data.gov/dataset/' \
  6. #  'share-of-medicaid-enrollees-in-managed-care'
  7. # used to send to the destination e-mail.
  8. csvFileURL = 'https://data.medicaid.gov/api/' \  'views/u72p-j37s/rows.
  9. csv?accessType=DOWNLOAD'csvFileRequest = requests.get(csvFileURL)csvFile = csvFileRequest.content

它短小精悍,并將返回CSV作為您現(xiàn)在設(shè)置為變量的請(qǐng)求的一部分。我們稍后在創(chuàng)建電子郵件時(shí)將使用這個(gè)。但是接下來(lái),我們需要設(shè)置Gmail API的憑據(jù)。

設(shè)置您的Gmail API

谷歌使您非常容易地設(shè)置api。您可以轉(zhuǎn)到谷歌API控制臺(tái)。從這里,您可以選擇ENABLE API和服務(wù),然后搜索Gmail API。

API控制臺(tái)如下圖所示。

你可以輸入Gmail,它應(yīng)該是唯一出現(xiàn)的。

然后您可以選擇Gmail API,它旁邊會(huì)有一個(gè)ENABLE按鈕。

一旦您在Gmail API上單擊ENABLE,您就可以下載您的憑證或者使用API密鑰和密鑰。

我們的代碼將使用JSON下載,但如果您愿意,可以將其轉(zhuǎn)換為pickle。

有了這些設(shè)置,我們現(xiàn)在可以開(kāi)始建立你的功能設(shè)置,然后自動(dòng)發(fā)送你的電子郵件。

使用Gmail API 發(fā)送郵件

現(xiàn)在我們已經(jīng)找到了一種獲取數(shù)據(jù)的方法,我們需要弄清楚如何發(fā)送電子郵件。

為了做到這一點(diǎn),我們將使用電子郵件庫(kù)。這個(gè)庫(kù)可以讓我們?cè)O(shè)置電子郵件的各個(gè)部分:發(fā)件人、收件人、主題等。

我們?cè)陔娮余]件中使用MIMEBase類(lèi)來(lái)實(shí)現(xiàn)這一點(diǎn),這使得設(shè)置正確的數(shù)據(jù)點(diǎn)變得很容易,并且為將來(lái)使用的Gmail API提供了一個(gè)簡(jiǎn)單的類(lèi)。

使用MIMEBase類(lèi)真的很簡(jiǎn)單,因?yàn)槟憧梢詣?chuàng)建一個(gè)新的類(lèi),然后引用很多需要的組件,比如:

 
 
 
  1. message[‘from’] = test@gmail.com

您可以看到我們?cè)谙旅嬖O(shè)置這些參數(shù)的整個(gè)函數(shù)。

 
 
 
  1. # Function required for Part 2: Send e-mail with Google API.
  2. # a) Create the message
  3. def create_message(sender, to, subject, csv):  
  4. #message = MIMEMultipart()  
  5.     message = MIMEMultipart()
  6.   message['from'] = sender
  7.   message['to'] = to  
  8.   message['subject'] = subject
  9. # Send the time it was updated as the body of the e-mail  
  10. dt_object = datetime.utcnow() - timedelta(hours = 7)  
  11. msg = MIMEText('Hi! Your file was updated.' \    '\nTime of update: ' + dt_object.strftime('%m/%d/%Y, %I:%M:%S %p') \    + ' (Los Angeles Time)')?  
  12. message.attach(msg)
  13. # Attach the .csv file  
  14. record = MIMEBase('application', 'octet-stream')  
  15. # print(csv)  
  16. record.set_payload(csv)  
  17. encoders.encode_base64(record)  
  18. record.add_header('Content-Disposition', 'attachment', filename='medicare.csv')  
  19. message.attach(record)
  20. # Return the message  
  21. raw = base64.urlsafe_b64encode(message.as_bytes())  
  22. raw = raw.decode()  
  23. return {'raw': raw}

您將注意到在最后,我們使用了函數(shù)urlsafe_b64encode。這將把消息設(shè)置為字節(jié)。這將用于輕松地將電子郵件數(shù)據(jù)傳輸?shù)紾mail API。所以它很容易傳遞。

現(xiàn)在是時(shí)候發(fā)送你的第一封自動(dòng)郵件了。?現(xiàn)在您已經(jīng)設(shè)置了Gmail API憑據(jù),我們可以發(fā)送第一封電子郵件了。我們將使用使用Gmail API和憑據(jù)設(shè)置的服務(wù)變量。這如下面的函數(shù)send_message所示。

 
 
 
  1. #b) Send the message
  2. def send_message(service, user_id, message):  
  3.     try:    message = service.users().messages(). \   
  4.     send(userId=user_id, body=message).execute()    
  5.    print('Message Id: %s' % message['id'])    
  6.    return message  
  7.  except Exception as e:    
  8.   print('An error occurred: %s' % e)    
  9.   return None

從這里開(kāi)始,我們需要做的就是傳遞消息并執(zhí)行。至此,我們已經(jīng)發(fā)送了第一封電子郵件。


網(wǎng)站欄目:如何用Python實(shí)現(xiàn)電子郵件的自動(dòng)化
文章路徑:http://www.5511xx.com/article/dhhdjej.html