日本高清免费一本视频100禁_在线不卡欧美精品一区二区三区_国产一区二区好的精华液_中文综合在线_国产啊啊啊视频在线观看_大地资源网免费观看高清

IT之道-艾銻知道

如何用Python實(shí)現(xiàn)電子郵件的自動(dòng)化-艾銻分享


2020-05-26 18:38 作者:艾銻無(wú)限 瀏覽量:

如何用Python實(shí)現(xiàn)電子郵件的自動(dòng)化-艾銻分享

在本文中,我們將概述如何編寫(xiě)一個(gè)Python腳本,該腳本可以下載一組特定的公共數(shù)據(jù),然后將其上傳到電子郵件中,并將其發(fā)送給任何需要的人。
前言
用Python自動(dòng)化日常任務(wù)很容易。通過(guò)api和庫(kù)的結(jié)合,您可以輕松地設(shè)置系統(tǒng)來(lái)抓取網(wǎng)站、發(fā)送電子郵件、管理數(shù)據(jù)和分析。
在本文中,我們將概述如何編寫(xiě)一個(gè)Python腳本,該腳本可以下載一組特定的公共數(shù)據(jù),然后將其上傳到電子郵件中,并將其發(fā)送給任何需要的人。
這將使您熟悉使用Pytho求庫(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.  
  3. # Get the webpage, store it in a Response object and assign the text 
  4. # About: https://requests.readthedocs.io/en/master/api/#requests.Response? 
  5.  
  6. # This URL contains the .csv download of
  7. # 'https://catalog.data.gov/dataset/' \ 
  8. #  'share-of-medicaid-enrollees-in-managed-care' 
  9. # used to send to the destination e-mail. 
  10.  
  11. csvFileURL = 'https://data.medicaid.gov/api/' \  'views/u72p-j37s/rows
  12. 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)如下圖所示。
IMG_256
你可以輸入Gmail,它應(yīng)該是唯一出現(xiàn)的。
IMG_257
然后您可以選擇Gmail API,它旁邊會(huì)有一個(gè)ENABLE按鈕。
IMG_258
一旦您在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)實(shí)現(xiàn)這一點(diǎn),這使得設(shè)置正確的數(shù)據(jù)點(diǎn)變得很容易,并且為將來(lái)使用的Gmail API提供了一個(gè)簡(jiǎn)單的類。
使用MIMEBase類真的很簡(jiǎn)單,因?yàn)槟憧梢詣?chuàng)建一個(gè)新的類,然后引用很多需要的組件,比如:
  1. message[‘from’] = [email protected] 
您可以看到我們?cè)谙旅嬖O(shè)置這些參數(shù)的整個(gè)函數(shù)。
  1. Function required for Part 2: Send e-mail with Google API. 
  2. # a) Create the message 
  3.  
  4. def create_message(sender, to, subject, csv):   
  5. #message = MIMEMultipart()   
  6.     message = MIMEMultipart() 
  7.   message['from'] = sender 
  8.   message['to'] = to   
  9.   message['subject'] = subject 
  10.  
  11. # Send the time it was updated as the body of the e-mail   
  12. dt_object = datetime.utcnow() - timedelta(hours = 7)   
  13. msg = MIMEText('Hi! Your file was updated.' \    '\nTime of update: ' + dt_object.strftime('%m/%d/%Y, %I:%M:%S %p') \    + ' (Los Angeles Time)')?   
  14. message.attach(msg) 
  15.  
  16. # Attach the .csv file   
  17. record = MIMEBase('application', 'octet-stream')   
  18. # print(csv)   
  19. record.set_payload(csv)   
  20. encoders.encode_base64(record)   
  21. record.add_header('Content-Disposition', 'attachment', filename='medicare.csv')   
  22. message.attach(record) 
  23.  
  24. Return the message   
  25. raw = base64.urlsafe_b64encode(message.as_bytes())   
  26. raw = raw.decode()   
  27. 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.  
  3. def send_message(service, user_id, message):   
  4.     try:    message = service.users().messages(). \    
  5.     send(userId=user_id, body=message).execute()     
  6.    print('Message Id: %s' % message['id'])     
  7.    return message   
  8.  except Exception as e:     
  9.   print('An error occurred: %s' % e)     
  10.   return None 
從這里開(kāi)始,我們需要做的就是傳遞消息并執(zhí)行。至此,我們已經(jīng)發(fā)送了第一封電子郵件。
 

相關(guān)文章

IT外包服務(wù)
二維碼 關(guān)閉
主站蜘蛛池模板: 久久免费成人网_欧美一级黄_日韩色在线_成人免费一级视频_麻豆资源在线观看_性爱在线免费视频_亚洲第一视频区_国产美女午夜福利久久 | 欧美激情在线一区_成人国产精品视频_中文字幕日韩人妻在线视频_不卡视频国产_91久久在线观看_china直男gay国产_日本黄色影院在线观看_96自拍视频 | 一区二区中文字幕_狠狠色丁香婷婷_国产成人AV片免费_中文字幕日韩精品在线观看_精品人妻无码一区二区三区视频_免费的黄色一级片_中文字幕二区三区_亚洲欧美国内爽妇网 | JIZZ中国JIZZ在线观看_亚洲三级视频在线观看_人伦人与牲口性恔配视频免费_91国内精品白嫩初高生_一级黄色免费网站_羞羞午夜爽爽爽爱爱爱爱人人人_一本大道久久a久久精品综合1_91精品国产综合久久精品性色 | 成人亚洲a片v一区二区三区_亚洲日本精品国产第一区_噜噜噜私人影院_www.超碰在线观看_亚洲精品久久激情国产片_国产欧美日韩在线视频_精品亚洲一区二区三区在线播放_亚洲国产成人精品无码区 | 日韩精品视频在线一区二区三区_欧美丰满老妇熟乱xxxxyyy_四虎影视国产精品永久在线_精品自拍av_久久99国产亚洲高清观看首页_五月色夜婷婷丁香琪琪_无码少妇一区二区三区浪潮AV_全黄特一级 | 在线日韩AV永久免费观看_熟女chachacha性少妇_欧美日韩一区二区三区不卡视频_国产一二三区在线播放_成人精品人伦一区二区三区水拆_国产太嫩了在线观看_色多多入口_国产资源在线免费观看 | 欧美精品欧美精品系列c_国产a一级毛片_少妇人妻系列无码专视频区_韩日av网站_色婷婷久久久久swag精品_JULIA无码中文字幕一区_日日骚视频_能在线看的av | 在线超碰在线_美国aa毛片_AV无码人妻无码男人的天堂_麻豆一二区_精品亚洲aⅴ乱码一区二区三区_久久亚州_色免费在线视频_在线中文字幕日韩 | 欧美日韩精品一区二区在线视频_国产午夜精品一区二区三区不卡_国内精品伊人久久久久AV影院_国产精品av久久久久久网站_真人性囗交视频_高清国产在线播放成人_丁香九月激情_国产www在线观看 | 最近2019年好看中文字幕视频_91免费黄色_日韩精品在线观看一区二区_欧美xxxxx精品_午夜成人片400_亚洲成人中文字幕高清乱码_强乱中文字幕_亚洲国产高清在线播放 | 欧美日韩一道本_欧美日韩在线视频不卡一区二区三区_亚州黄色_三区四区在线观看_不卡视频一区二区_亚洲免费观看视频_国产一级黄色录像_欧美男男激情videos高清 | 国产精品一区二区香蕉_91精品一二区_天堂网在线.www天堂在线资源_成人亚洲一区二区三区_人妻尝试又大又粗久久_亚洲国产精品无码成人A片在线_私人家庭影院5777_亚洲国产影视 | 色婷婷一区二区三区四区_国产精品区一区_99热免费精品店_欧美永久_伊甸园一区二区_亚洲国产精品无码久久98_国产日产欧产精品精品软件_国产肥熟女视频一区二区三区 | 国产综合图_精品99免费_日日操夜夜操免费视频_国产精品激情欧美可乐视频_热99精品里视频精品_99国产精品久久久久久久..._国产无套抽出白浆来_高清成人免费视频 | 免费观看AV在线网站网址_国产精品国产三级国产普通_伊人久久婷婷_中文成人无字幕乱码精品区_国产在线看片免费人成视频_久久无码人妻一区二区三区_日韩3区_成人wwxx视频免费男女 | 久久精品.com_色综合天天色_99手机在线视频_哈哈哈哈哈第4季免费视频高清_日本精品在线一区_亚洲成人黄色_91热爆视频_成视频免费在线 | 91麻豆精品国产91久久久久久久久_一级毛片真人实干_视频成人免费_日韩欧美亚洲视频_亚洲欧美日韩国产成人精品_成人毛片免费网站_韩国毛片在线观看_日本午夜一区 | 成人黄色免费视频网站_网友自拍视频在线_日日操夜夜爽_成人动漫综合网_国产又粗又猛又爽又黄的视频软件_久草视频中文在线_中文字幕在线国产_欧美日韩国产一二 | 永久av在线免费观看_后入内射国产一区二区_国产xxxxx精品av青椒_国产网红福利视频一区二区_成人福利在线播放_99视频_国产精品一区二区在线观看99_97视频一二区 | 国产乱理伦片a级在线观看_精品国产一区二区三区观看不卡_久久精品道一区二区三区_日本牲交大片无遮挡_中文字幕区一区二_爱色av网站_三级全黄做爰_四虎影视成人永久免费观看视频 | 国产裸体写真av一区二区_337p日本大胆欧美人_久久久久久久亚洲AV无码_国产在线高清精品_亚洲成色精品一区二区三区_99久久免费精品国产免费高清_激情五月人体_国产iv一区二区三区 | 5g国产精品影院天天5g天天爽_欧美又大又粗无码视频_国产综合色一区二区三区_天天爽天天_九九精品在线视频_色片免费在线观看_国产精品一区二区三区不卡_久久久久久久一区 | 午夜在线视频一区二区三区_国产精品91久久久久久_黄色录像a级_在线播放免费av_久久精品婷婷_美女天天干_四虎黄色录像_oxox国产午夜精品 | 国产女高清在线看免费观看_色无码av在线播放_久久爽久久爽久久av东京爽_曰本丰满熟妇XXXX性_在线播放网址_日本轮理片_国产精品高潮呻吟爱久久AV无码_国产youjizz | 久久精品人妻中文系列_国产又爽又大又黄A片图片_久久久久久久影视_欧美一区二区三区成人精品_欧美精品一区二区三区久久_亚洲精品91天天久久人人_91视视频在线观看入口直接观看_老妇xxxxx | 国产精品国产三级在线高清观看_久久久国产一区_午夜毛片免费看20次_久久久免费看视频_sm脚奴调教丨踩踏贱奴_久久久噜噜噜_老女人综合网_国产成人午夜精品福利视频 | 狠狠操综合_99热这里只有精品5_国产aⅴ精品_日本在线视频www色_97夜夜澡人人波多野结衣_欧美一级一区二区三区_国产精品自拍系列_日韩精品免费综合视频在线播放 | 9191精品_色琪琪一区二区三区亚洲区_微拍福利88_精品国产黄_久久国产成人亚洲精品影院_天天操天天干天天操_九色蝌蚪少妇_vvv.成人观看视频 | 国产成人情侣激情视频_chinesepronhdvideos国产91_欧美成人永久免费a片_黄片国产精品视频_成人乱人乱一区二区三区_男同GAY片AV网站猛男调教_yy6080久久伦理一区二区_国产丝袜精品视频 | 国产女高清在线看免费观看_色无码av在线播放_久久爽久久爽久久av东京爽_曰本丰满熟妇XXXX性_在线播放网址_日本轮理片_国产精品高潮呻吟爱久久AV无码_国产youjizz | 99在线免费观看_亚洲一区二区无码偷拍_很很鲁很很很鲁在线视频播放_免费成人网在线观看_91av视频网站_厨房挺进紧致班主任少妇_特警新人类国语免费高清在线观看_日韩中文在线 | 久久亚洲日韩精品一区二区三区_亚欧成人永久免费视频_国产精品中文无码第一页av在线_亚洲国产无色码在线播放_日韩国产欧美精品在线_影音先锋男人在线资源资源网_苍井そら无码AV_欧美激情视频一区二区三区在线播放 | 日韩精品一区二区三区四区在线观看_亚洲AV在线观看天堂无码_好紧好大快点舒服使劲_粉嫩老牛aⅴ一区二区三区_奇米91_136fldh福利视频导在线_夜夜夜操_国产熟妇与子伦 | 久久久国产视频91_亚洲国产AV美女网站_蜜臀av在线一区二区三区_超碰伊人久久_国产高清狼人香蕉在线_国产成人亚洲在线观看_亚洲欧美一级久久精品国产特黄_91pro国产福利网站www | 成午夜精品一区二区三区_四虎精品国产永久在线观看_日韩女人一级_久久综合给合久久狠狠狠色97_日韩欧美精品一中文字幕_97碰碰碰人妻无码视频_国产熟妇搡BBBB搡BBBB_91久久99久久91熟女精品 | 亚洲草草视频_91亚洲视频在线观看_色七七影院在线观看_国产一级片91_99在线国产视频_在线观看亚洲AV无码每日更新_国色天香WWW视频_成年人视频在线免费看 | 日韩视频在线第一页_欧美黑人欧美黑人双交_在线99_亚洲伊人成人_久久人人爽人人人人片_人妻人人澡人人添人人爽人人玩_久久香蕉99_天天看国91产在线精品福利桃色 | 久久成人精品一区二区三区_中文字幕V亚洲日本在线_精品无码久久久久久久动漫_成年午夜无码AV片在线观看_91色精品_一个人看的视频www免费_国产肉丝袜在线观看_中文字幕av播放 | 黄色大片网站在线观看_亚洲成亚洲乱码一二三四区软件_100日本xxxxxxxxx15_99激情视频_91精产国品_91视频免费看_九七伦理97伦理手机_国产高清免费视频 | 国产欧美自拍_亚洲色噜噜噜在线观看_国产成人精品微拍视频_嫩草在线视频WWW免费看_a中文字幕解说在线_本土又黄又粗天天躁性爱视频_在线观看美女网站大全免费_一级做人爱c黑人影片 |