日本高清免费一本视频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)閉
主站蜘蛛池模板: 欧一区二区三区_色婷婷狠狠久久综合五月_国产国产成人久久精品_国产ts一区_日本一区二区三区乱码_狠狠操导航_国内黄色网址_久久久久亚洲精品国产 | 亚洲av制服丝袜日韩高清_亚洲国产综合专区在线播放_一二三四在线观看视频韩国_最近免费观看在线中文2019_亚洲综合色久_日韩网站在线播放_亚洲成av人片在线观看高清_大地资源网高清视频免费观看 | 东京热无码人妻一区二区av_久久久国产免费_色欧美片视频在线观看_极品少妇被猛得白浆直流草莓视频_最新永久免费AV无码网站_JIZZ国产丝袜18老师女人生产_亚洲色大18成人网站WWW在线播放_偷拍自拍第二页 | 欧美激情在线一区_成人国产精品视频_中文字幕日韩人妻在线视频_不卡视频国产_91久久在线观看_china直男gay国产_日本黄色影院在线观看_96自拍视频 | brazzershd欧美情趣丝袜_一区二区国产在线观看_亚洲国产精品点击进入_免费一二三区_自拍偷拍亚洲一区_亚洲国产精品一区二区美利坚_好男人在线社区www在线影院_亚洲国产成人精品女人久久久 | 办公室扒开奶罩揉吮奶头视频_久久网站热最新地址_国产人妖tscd在线_a级片在线免费观看_国产一区精品自拍_国产偷怕_亚洲欧美日本在线观看_新婚人妻不戴套国产精品 | 成人免费视频www在线观看我_日韩免费无码成人久久久久久片_91影院高清_一级毛片超级播放_亚洲综合伊人_911网站大全在线观看_成人综合婷婷国产精品久久_蝌蚪91在线 | 精品一二三四视频_天堂8在线天堂资源BT_草操视频_久久www免费人成看片小草_五月婷婷六月丁香欧美综合_精品二区一国产va在线观看_青青草免费观看视频_极品尤物一区二区三区 | 一夲道无码人妻精品一区二区_视频一区三区_国产精品一区二区日韩新区_在线精品自拍视频_九一嫩草_日本黄区免费视频观看_CHINESE性内射高清国产_国产精品一区在线 | 一区二区中文字幕_狠狠色丁香婷婷_国产成人AV片免费_中文字幕日韩精品在线观看_精品人妻无码一区二区三区视频_免费的黄色一级片_中文字幕二区三区_亚洲欧美国内爽妇网 | 国产乱来乱子视频_国产精品推荐_国产一区二区啪啪_欧美日韩一区二区三区自拍_看av在线_av国产片_国产亚洲久_91成年人 | jvid视频_超碰CAO已满18进入离开_日韩精品三区四区_国产成人a片免费观看_被仇人调教成禁脔h虐_久草在线视频新_久久久久夜夜夜综合国产_黄色视频网站夜夜嗨转域97 | 亚洲精品tv久久久久久久久_亚洲免费av第一区第二区_在线亚洲网站_性一交一乱一色一视频_国产xxxx在线观看_一区不卡在线_久久久蜜桃精品_色哟哟精品丝袜一区二区 | 亚洲精品国产片_精品综合久久_色AV永久无码影院AV_一区一区视频_青青草午夜色影院_农村熟女大胆露脸自拍_黄色毛片a级_在线观看日韩中文字幕 | 两根一起进三P免费视频_色偷偷偷久久伊人大杳蕉_狠操在线_91成人在线精品视频_在线成人毛片_一级特黄bbbbb免费观看_91怡红院_免费人成网站视频在线观看国内 | 公天天吃我奶躁我的在线观看_午夜激情网_2021精品亚洲中文字幕_国产免费小视频_九九热在线观看_欧美亚洲日本国产其他_国产高潮呻吟久久_亚洲精品成人a在线观看 | 久久久久国产精品免费a片记大片_国产五月色婷婷六月丁香视频_亚洲人体一区二区_成人国产网址_51社区精品视频在线视频观看软件_日本一道高清_手机午夜看片_小箩莉h文徐韵婷合集小说 | AV国产剧情MD精品麻豆_亚洲国产综合精品在线一区_91碰在线视频_国产偷窥女洗浴在线观看亚洲_99热5_综合激情五月综合激情五月激情1_精品国产aⅴ无码一区二区_久久婷婷是五月综合色 | 精品av天堂毛片久久久_99热com_99re在线国产_夜色爽爽影院18禁妓女影院_亚洲国产片在线观看_麻豆91精品91久久久的内涵_最新中文字幕在线资源_日韩中文幕 | 亚洲黄色视频网站在线观看_午夜免费福利小视频_插我一区二区在线观看_亚洲精品无码乱码成人_又大又硬又爽又黄又粗又长_色999在线_五月久久婷婷精华油_国内精品福利视频 | 欧美激情高潮无遮挡_成人无码区免费a片www_成年女人免费视频播放人_2015天堂网_精品一二三区视频_久久久天堂国产精品女人_成人无码潮喷在线观看_亚洲AV永久无码天堂网毛片 | 一本一道AV无码中文字幕﹣百度_精品国产色_人妻制服出轨中字在线_91狼人社_日韩女优精品_亚洲一级影片在线观看_欧美精品在线看_天天操夜夜爱 | 国产成人高清成人AV片在线看_91社看片_日本a∨视频_熟女人妻在线视频_日本不卡二区视频_四虎精品寂寞少妇在线观看_国产视频亚洲精品_欧美日韩 | 人人人妻人人澡人人爽欧美一区_91亚洲精品久久久中文字幕_亚洲第一网址_国产粗语刺激对白性视频_国产成人99_国产精品久久久一区二区三区网站_国产日韩在线视看第一页_欧美25p | 日本色片视频_精品久久久久久久久久久久久久久_久久99久久99精品免视看婷婷_日本一区二三区_夜夜爽亚洲人成8888_国产av久久久久精东av_夜夜av_精品国自产在线观看 | 色偷偷亚洲第一综合网_在线观看的片www免费观看_爆乳一丝丝不挂裸体大胸美女_相泽南亚洲一区二区在线播放_美女裸体无遮挡永久免费视频网站_日韩av激情在线观看_99re超碰_中文天堂在线资源www | 九九久久99_99久色_日本一区二区三区免费播放_成人午夜亚洲精品无码区_逼逼爱插插网站_新加坡毛片_蜜臀久久蜜臀av国内精品久久久_久久国产精品久久精品国产 | 好爽好紧好大的免费视频国产_亚洲欧美日韩久久一区二区_亚洲一级毛片免费看_国产午夜一级_成人3D动漫一区二区三区_成年免费视频播放网站推荐_FREE性欧美人与DOOG_国产成人精品免费久久久久 | 欧美午夜一区二区三区精美视频_亚洲艳妇_四虎影院观看_久久免费视频观看_成人中文网_狠狠色噜噜狠狠狠狠色综合久AV_ai杨幂被弄高潮在线看_亚洲制服丝袜欧美 | 国产a区_99精品欧美一区二区三区_在线观看一区不卡_国产成人片无码视频在线观看_亚洲精品乱码久久观看网_国产精品久久这里只有精品_先锋中文字幕在线资源_久草在线中文888 | 成人精品视频99在线观看免费_真人啪啪姿势88种_日韩亚洲欧美综合_无毒不卡在线_99久久免费看视频_性xx无遮挡_免费观看全黄做爰大片国产_在线不卡二区 | 欧一区二区三区_色婷婷狠狠久久综合五月_国产国产成人久久精品_国产ts一区_日本一区二区三区乱码_狠狠操导航_国内黄色网址_久久久久亚洲精品国产 | 全部免费毛片在线播放一个_高潮又爽又无遮挡又免费_青草草在线观看免费视频_日本欧美一区二区三区不卡视频_欧美大片首页欧美大片首页_视频在线观看网站免费_国产精品乱子伦xxxx裸_全程粗话对白视频videos | 888久久久_亚洲AV无码一区二区三区不卡_国色天香久久精品国产一区_国产黄色拍拍拍网_a毛片成人免费全部播放_久久久精品网站_美女在线观看视频一区二区_任你躁精品一区二区三区 | 看全色黄大色黄女片_亚洲欧洲日产国码综合在线_99精品自产国偷产在线_国精品**一区二区三区在线蜜桃_亚洲91p_欧美日韩在线精品_538久久_欧美国产精品久久久久久免费 | 欧美精品一二三区免费_性大片爱赏网免费观看_久久免费视频5_亚洲AV无码一区二区三区国产_亚洲国产成人精品在线_久草在线视频网_四虎5151久久欧美毛片_性xxxx欧美老妇胖老太269 | 特级片日本_mm1313亚洲国产精品久久_无码人妻在线视频_av在线视_狠狠操你_亚洲mv大片欧洲mv大片_亚洲福利视频网站_成人v片 | 嫩草黄色_69视频在线播放_亚洲精品mv在线观看_波多野结衣AV最新作品在线观看_国产视频精品视频_欧美肥婆丰满bbw_成人免费网视频_亚洲日本中文字幕网站 | 好大好硬好爽18禁视频_av黄色免费观看_久久久av一区二区_偷偷做久久久久免费网站_性一交一无一伦一精一品_亚洲欧美影视_无码亲近乱子伦免费视频在线观看_日本免费一区视频 | 国产色片_欧美成人黄色片_午夜影院在线观看_国产精品视频1区_宅男影院在线播放999_久在线视频播放免费视频_国产69精品久久久久9999APGF_别c我啊嗯国产av一毛片 | 日本妇人成熟免费视频_国产一三四2021不卡_亚洲黄色小说视频_高清av网址_欧美性影院_女人被爽到呻吟GIF动态图_国产精品自在_日本少妇xxxx软件 |