国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 使用python實現定時報天氣的示例代碼

使用python實現定時報天氣的示例代碼

2022-02-28 12:05弈鳴coding Python

本文主要介紹了使用python實現定時報天氣,只需要讓爬蟲程序每天自動為你發送,下面就詳細的介紹一下如何使用,感興趣的可以了解一下

前言

如果你和我一樣偶爾看看股票,看看自己關注的股票是漲了還是跌了,或者想快速獲取到想看的頭條新聞,我們不必把過多的注意力放在去尋找上面,我們只需要讓爬蟲程序每天自動為你發送你想要了解的信息就可以了,這樣就能掌控我們的注意力,更好的去享受生活。

 

一.分析爬取目標

這里就不爬取股票的信息,我來爬一個天氣預報的信息,然后實現每天定時發送。打開下面的鏈接就能跳轉到中國氣象網
http://www.weather.com.cnnn/

使用python實現定時報天氣的示例代碼

點擊溫度那個位置就可以進入下面的圖

使用python實現定時報天氣的示例代碼

我們可以看到7天的天氣和8-15天的天氣,再往后對我們來說就沒必要了。我們查看七日的天氣預報,直接爬11日的天氣,鼠標右鍵->檢查->Network->刷服務器之家頁->查看列表第一個,再點擊preview

使用python實現定時報天氣的示例代碼

可以看到數據在HTML里面,然后回到element

使用python實現定時報天氣的示例代碼

可以發現,溫度數據放在< p class="tem">之下。“多云”所在的位置是< p src="/uploads/allimg/220228/12052150H-4.png" />

import requests

headers = {
  'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36'}

# 封裝headers
#這里對應的是我選的城市,可以換自己所在城市
url = 'http://www.weather.com.cn/weather/101010100.shtml'

# 把URL鏈接賦值到變量url上

res = requests.get(url, headers=headers)

# 發送requests請求,并把響應的內容賦值到變量res中。

print(res.text)

# 打印出res對象的網頁源代碼

print(res.status_code)

# 檢查響應狀態是否正常

看結果可以看到是響應是正常的,但是出現了亂碼。但是莫慌。加上一句res.encoding='utf-8'就行了。

使用python實現定時報天氣的示例代碼

接下來就可以寫完整的爬取信息的代碼了

import requests

from bs4 import BeautifulSoup



headers={'user-agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36'}

#封裝headers

url='http://www.weather.com.cn/weather/101010100.shtml'

#把URL鏈接賦值到變量url上

res=requests.get(url,headers=headers)

#發送requests請求,并把響應的內容賦值到變量res中

res.encoding='utf-8'



bsdata=BeautifulSoup(res.text,'html.parser')

#使用bs模塊解析獲取到的數據

data_temperature= bsdata.find(class_='tem')

#使用find()取出天氣的溫度數據

data_weather= bsdata.find(class_='wea')

#使用find()取出天氣的文字描述

print(data_temperature.text)

#取出變量data_temperature中的字符串內容,并打印

print(data_weather.text)

#取出變量data_weather中的字符串內容,并打印

可以成功的得到需要的數據。

使用python實現定時報天氣的示例代碼

其實最難的不是爬蟲,爬這種信息新手應該都會,接下里才是重頭戲。

 

二.信息的發送

如果我們想要實現發送郵件,這里以qq郵件為例要經過以下的步驟:

  • 連接郵件服務器
  • 使用郵箱賬號密碼登錄
  • 填寫收件人,主題,正文等
  • 發送郵件

所以連接服務器要用到用到smtplib庫,填寫主題和撰寫正文,需要用到email庫(python真的是yyds)

1.連接服務器

SMTP代表簡單郵件傳輸協議,相當于一種計算機之間發郵件的約定

smtplib是不需要安裝的,smtplib是python的一個內置庫,有興趣的小伙伴可以看看官方文檔

看下面的代碼

import smtplib
mailhost='smtp.qq.com'
#把qq郵箱的服務器地址賦值到變量mailhost上,地址需要是字符串的格式。
qqmail = smtplib.SMTP()
#實例化一個smtplib模塊里的SMTP類的對象,這樣就可以SMTP對象的方法和屬性了
qqmail.connect(mailhost,25)
#連接服務器,第一個參數是服務器地址,第二個參數是SMTP端口號

**mailhost=‘smtp.qq.com'**這句是qq郵箱的服務器地址,這個是可以查得到的

用SMTP對象的connect()方法連接服務器,第一個參數是獲取到的服務器地址,第二個參數是SMTP端口號――25。端口號的選擇不是唯一的,但是25是一個最簡單、最基礎的端口號,所以我們填25。

2.獲取賬號和密碼

此密碼非彼密碼,這個密碼需要我們去到這里獲取:https://mail.qq.com/,登錄你的郵箱。然后點擊位于頂部的【設置】按鈕,選擇【賬戶設置】。

使用python實現定時報天氣的示例代碼

下拉到這個位置

使用python實現定時報天氣的示例代碼

點擊開啟第一個,然后得到授權碼,如果以前獲取過但是忘了,就需要發送短信重新獲取,這個碼一定不要外漏!!!

使用python實現定時報天氣的示例代碼

import smtplib

mailhost='smtp.qq.com'
#把qq郵箱的服務器地址賦值到變量mailhost上

qqmail = smtplib.SMTP()
#實例化一個smtplib模塊里的SMTP類的對象,這樣就可以SMTP對象的方法和屬性了

qqmail.connect(mailhost,25)
#連接服務器,第一個參數是服務器地址,第二個參數是SMTP端口號。

sender = input('請輸入你的郵箱:')
#獲取郵箱賬號

password = input('請輸入你的密碼:')
#獲取郵箱密碼

qqmail.login(sender,password)
#登錄郵箱,第一個參數為郵箱賬號,第二個參數為郵箱密碼

receiver=input('請輸入收件人的郵箱:')
#獲取收件人的郵箱

所填密碼就是剛才獲取的授權碼

3.填寫主題和撰寫正文

在這里就需要用到email庫。

from email.mime.text import MIMEText

from email.header import Header

content=input('請輸入郵件正文:')

#輸入你的郵件正文

message = MIMEText(content, 'plain', 'utf-8')

#實例化一個MIMEText郵件對象,該對象需要寫進三個參數,分別是郵件正文,文本格式和編碼

subject = input('請輸入你的郵件主題:')

#用input()獲取郵件主題  

message['Subject'] = Header(subject, 'utf-8')

我們還需要引入了email庫中的MIMEText模塊和Header模塊
最后一行代碼:在等號的右邊,是實例化了一個Header郵件頭對象,該對象需要寫入兩個參數,分別是郵件主題和編碼,然后賦值給等號左邊的變量message[‘Subject'],message[‘Subject']就代表著根據MIMEText類里面的Subject的屬性名取到該屬性

代碼有注釋還不明白的話可以去看看文檔,

4.發送郵件和退出郵箱

將前面的代碼整合以下

from email.mime.text import MIMEText

from email.header import Header

#引入Header和MIMEText模塊

content=input('請輸入郵件正文:')

#輸入你的郵件正文

message = MIMEText(content, 'plain', 'utf-8')

#實例化一個MIMEText郵件對象,該對象需要寫進三個參數,分別是郵件正文,文本格式和編碼

subject = input('請輸入你的郵件主題:')

#用input()獲取郵件主題

message['Subject'] = Header(subject, 'utf-8')

qqmail.sendmail(sender, receiver, message.as_string())

qqmail.quit()
#退出郵箱

sendmail() 發送郵件,括號里面有三個參數,第1個是發件人的郵箱地址,第2個是收件人的郵箱地址,第3個是正文,但必須是字符串格式,所以用as_string()函數轉換了一下。

但是我們希望發送成功后能顯示“郵件發送成功”,失敗的時候能提示我們“郵件發送失敗”,可以使用try語句來實現。

try:
  qqmail.sendmail(sender, receiver, message.as_string())
  print ('郵件發送成功')
except:
  print ('郵件發送失敗')
qqmail.quit()

 

三.定時發送

關于時間,其實Python有兩個內置的標準庫――time和datetime,但是我們不用,誒,就是玩,我們可以用第三方庫schedule其實是有原因的:對于我們需要的定時功能,time和datetime當然能實現,但操作邏輯會相對復雜;而schedule就是可以直接解決定時功能,代碼比較簡單,這是我們選擇schedule的原因。
官方文檔鏈接:https://pypi.org/project/schedule/
根據文檔我們做一個每3秒運行一次的程序

import schedule
import time
#引入schedule和time模塊
def job():
  print("Working in progress...")
#定義一個叫job的函數,函數的功能是打印'I'm working...'
schedule.every(3).seconds.do(job)        
while True:
  schedule.run_pending()
  time.sleep(1)

也可以設置在某個時間發送,用法很多,這里就不展開。最后把這些代碼全部合并整合一下,下面看效果

 

四.效果

使用python實現定時報天氣的示例代碼

這里我定的下午三點四十六,然后發送成功,我打開我的郵箱確實能收到

使用python實現定時報天氣的示例代碼

這個功能我放在服務器上用了很久了,爬一些平時自己必看的信息,然后發送,減少了自己被其他東西吸引注意力的幾率。

這篇文章不在于爬取天氣信息這塊,而是通過這種方式去實現定時發送郵件,只要用的好能為自己省下很多的時間和精力去在信息大海里面查找自己想要的信息。

到此這篇關于使用python實現定時報天氣的示例代碼的文章就介紹到這了,更多相關python 定時報天氣內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/m0_53088614/article/details/121247320

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 人人澡人人爽 | 欧美在线亚洲 | 超级黄色毛片 | 国产精品久久久久白丝呻吟 | 日韩城人网站 | 一区二区三区高清 | 91精品国产综合久久福利软件 | 精品无人乱码一区二区三区的优势 | 一区二区中文 | 小视频在线 | 日本精a在线观看 | 色花av| 九九久久久 | 黄色国产| 国产毛片毛片 | av中文字幕在线 | av在线电影观看 | 久久久久久久久久久精 | 国产综合精品 | 91人人 | 久久在线 | 亚洲天堂2020| 国产三级一区二区三区 | 久久久久久久一区 | 午夜视频一区二区三区 | 黄色裸体网站 | 亚洲午夜精品视频 | 午夜精品久久久久久久久久久久 | 在线观看一级黄色片 | 夜夜天天 | 色综合一区二区三区 | 国产精品久久久久久亚洲调教 | 视频1区2区 | 久久免费精品国产 | 日韩高清电影 | 黄色视屏免费在线观看 | 久久av网 | 亚洲视频观看 | 精品一二三区 | 在线激情网站 | 成人在线视频观看 |