<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python 小技能之抓取天氣信息發(fā)送給小姐姐

          共 3181字,需瀏覽 7分鐘

           ·

          2020-07-30 08:21

          0add800362c5d7841da0222cb1b0e865.webp

          文 |?潮汐

          來源:Python 技術(shù)「ID: pythonall」

          163dc36585a478ba16b369241aeff85b.webp


          每天一個 Python 小技巧,你學(xué)廢了嗎?今天文章主要講解如何將天氣預(yù)報信息爬取下來并發(fā)送給小姐姐,感興趣的朋友不妨試試,說不定會有意外收獲呢!

          抓取數(shù)據(jù)

          爬蟲的基本思路簡易了解就三步:下載數(shù)據(jù)(根據(jù)需要爬取的 url 設(shè)定用戶代理)、解析數(shù)據(jù)(編寫爬取規(guī)則并獲得數(shù)據(jù))、保存數(shù)據(jù)。

          知道上述步驟后咱們的需求是首先找到中國天氣網(wǎng)鏈接 https://tianqi.so.com/weather/ ,抓取中國天氣網(wǎng)的數(shù)據(jù),獲取天氣信息部分代碼如下:

              data_list = []    response = requests.get(url)    html_doc = response.text    soup = BeautifulSoup(html_doc, 'lxml')  # 自動補(bǔ)全html代碼,并按html代碼格式返回    wendu = soup.find('div', class_='temperature').get_text()    tianqi = soup.find('div', class_='weather-icon-wrap').get_text()    data_list.append("現(xiàn)在的溫度:%s\n現(xiàn)在天氣情況:%s" % (wendu, tianqi))    list = soup.find_all('ul', class_='weather-columns')    for item in list:        data_list.append(item.get_text())    print("列表數(shù)據(jù):",data_list)    a = 1    #創(chuàng)建PrettyTable對象,用于將天氣數(shù)據(jù)用表格的方式輸出    tb = pt.PrettyTable()     tb.field_names = ["日期","天氣","詳情"]    for item in data_list:        # print(a)        if a != 1:            tb.add_row([item.strip().split()[0]+item.strip().split()[1],item.strip().split()[2],item.strip().split()[3]])        else: print(item.strip())        a+=1    print(tb)    return tb

          輸出結(jié)果為:

          現(xiàn)在的溫度:23現(xiàn)在天氣情況:多云
          +-------------+--------------+----------------+| 日期 | 天氣 | 詳情 |+-------------+--------------+----------------+| 今天(07-28) | 雷陣雨 | 22/31℃優(yōu)西南風(fēng) || 明天(07-29) | 多云 | 24/32℃良西南風(fēng) || 周四(07-30) | 陰 | 25/33℃良西南風(fēng) || 周五(07-31) | 雷陣雨 | 24/33℃良西南風(fēng) || 周六(08-01) | 多云 | 25/34℃良西南風(fēng) || 周日(08-02) | 中雨轉(zhuǎn)雷陣雨 | 24/33℃優(yōu)南風(fēng) || 周一(08-03) | 多云 | 25/32℃優(yōu)東風(fēng) || 周二(08-04) | 小雨 | 22/32℃良東南風(fēng) || 周三(08-05) | 小雨轉(zhuǎn)陰 | 22/32℃良南風(fēng) || 周四(08-06) | 小雨 | 22/32℃良東北風(fēng) || 周五(08-07) | 多云轉(zhuǎn)小雨 | 21/33℃良南風(fēng) || 周六(08-08) | 小雨 | 21/34℃良西南風(fēng) || 周日(08-09) | 多云轉(zhuǎn)小雨 | 21/34℃良南風(fēng) || 周一(08-10) | 小雨 | 21/34℃良南風(fēng) || 周二(08-11) | 多云轉(zhuǎn)小雨 | 21/33℃良南風(fēng) |+-------------+--------------+----------------+

          發(fā)送郵件

          將抓取的數(shù)據(jù)發(fā)送到相應(yīng)的郵箱中,這里我將內(nèi)容發(fā)送到自己的 QQ 郵箱,發(fā)送郵箱詳細(xì)思路請詳見 今天,我用 Python 給武漢人民發(fā)一封郵件,發(fā)送郵件代碼如下:

          實現(xiàn)代碼:

          # 收件人    receiver = receiver    mail_title = '小姐姐,請查收今天以及往后15天的天氣預(yù)報,愿你三冬暖,春不寒'    mail_body = str(msg)    # 創(chuàng)建一個實例    message = MIMEText(mail_body, 'plain', 'utf-8')  # 郵件正文   # (plain表示mail_body的內(nèi)容直接顯示,也可以用text,則mail_body的內(nèi)容在正文中以文本的形式顯示,需要下載)    # 郵件的發(fā)件人  message['From'] = sender     # 郵件的收件人  message['To'] = receiver    # 郵件主題    message['Subject'] = Header(mail_title, 'utf-8')    # 創(chuàng)建發(fā)送郵件連接    smtp = smtplib.SMTP_SSL("smtp.qq.com", 465)    # 連接發(fā)送郵件的服務(wù)器    smtp.connect(smtpserver)    # 登錄到郵件服務(wù)器    smtp.login(username, password)    # 填入郵件的相關(guān)信息并發(fā)送    smtp.sendmail(sender, receiver, message.as_string())
          smtp.quit()

          調(diào)用發(fā)送郵件方法

          if __name__ == '__main__':    sender = '[email protected]'    # 發(fā)件人郵箱的SMTP服務(wù)器(即sender的SMTP服務(wù)器)    smtpserver = 'smtp.qq.com'    # 發(fā)件人郵箱的用戶名和授權(quán)碼(不是登陸郵箱的密碼)    username = 'XXX'    # 郵箱授權(quán)碼    password = 'XXXXXXXXX'    url1 = 'https://tianqi.so.com/weather/'    receiver_list ='[email protected]'    tb = get_Data(url1) #獲得每一個用戶的數(shù)據(jù)    send_mail(tb,receiver_list) #發(fā)送郵件

          發(fā)送結(jié)果如下:

          da205b4245bcfdde0281a167cec243d1.webp

          總結(jié)

          今天的文章主要是使用 Python 爬蟲和郵件發(fā)送功能兩者結(jié)合使用的場景,如果學(xué)廢的小伙伴請 扣 1,咱們明天見!

          PS公號內(nèi)回復(fù)「Python」即可進(jìn)入Python 新手學(xué)習(xí)交流群,一起 100 天計劃!


          老規(guī)矩,兄弟們還記得么,右下角的 “在看” 點一下,如果感覺文章內(nèi)容不錯的話,記得分享朋友圈讓更多的人知道!

          ac2cf3def535f516e7f4505174827870.webp72238490c1678c6ac82570fa649ef625.webp

          代碼獲取方式

          識別文末二維碼,回復(fù):200730

          瀏覽 21
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产成人无码Av片小说在线观看 | 99视频在线观看中文字幕 | 亚洲成人网在线免费观看 | 囯产精品久久久久久 | 青青草成人视频在线观看 |