<label id="jgr5k"></label>
    <legend id="jgr5k"><track id="jgr5k"></track></legend>

    <sub id="jgr5k"></sub>
  1. <u id="jgr5k"></u>
      久草国产视频,91资源总站,在线免费看AV,丁香婷婷社区,久久精品99久久久久久久久,色天使av,无码探花,香蕉av在线
      您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
      此為臨時鏈接,僅用于文章預覽,將在時失效
      人工智能開發者 正文
      發私信給楊鯉萍
      發送

      0

      只需一臺電腦,用 Python 實時追蹤新冠病毒分布

      本文作者: 楊鯉萍 2020-03-26 17:38
      導語:無廣告的自制訂閱神器。

      雷鋒網 AI 源創評論:目前,隨著新型冠狀病毒(COVID-19)在全球范圍內蔓延,海外地區現有確診已經上升至 293683(數據更新至 2020.03.25 16:54)。為了更好保證自身健康,我們必須了解正在影響?活所在地區的實際統計數據。

      如何利用現有工具來實時追蹤病情分布?近日,一個有趣的開源項目正好解決了這一問題。只需一臺電腦,誰都可按照步驟利用 Python 獲得專屬個人的疫情信息。作者發布了文章介紹該操作過程,雷鋒網 AI 源創評論將其編譯如下。

      只需一臺電腦,用 Python 實時追蹤新冠病毒分布

      圖片來源:Sebastian Herrmann on Unsplash

      Web 爬蟲計劃

      我們將使? Web 爬蟲的?法,以及 Selenium(Web 爬蟲的一個庫)和 Python?具來完成這一計劃。
      首先,我們需要找到從中獲取數據的網站,在本次教程中,使?到的是 Worldometers(https://www.worldometers.info/ ),因為作者覺得這上面的數據?常準確,并且?站看起來不錯。

      下面開始進入計劃:

      只需一臺電腦,用 Python 實時追蹤新冠病毒分布

      在 Worldometers 上的表格中,顯示了每個受影響國家/地區的相關數據,包括:累計確診病例、新增病例、累計死亡人數、累計治愈人數,以及病危程度的人數統計等。

      只需一臺電腦,用 Python 實時追蹤新冠病毒分布

      我們要做的,就是將以上的各個詳細數據,通過一系列方法的轉化,使其能夠自動發到我們的電子郵箱中。當然,選擇其它包含這些數據的網站,也不是不可以。

      只需一臺電腦,用 Python 實時追蹤新冠病毒分布

      搭建環境

      首先,我們需要安裝 ChromeDriver,并進行環境搭建。

      ChromeDriver 將幫助我們能夠控制瀏覽器并向其發送命令,從而進?測試和之后的其它操作,可以通過鏈接( https://chromedriver.chromium.org/ )下載與你電腦系統相匹配的安裝包。

      Ps:如果你不是很熟悉 ChromeDriver,建議盡可能使用最新穩定版本。

      下載之后,接下來將需要解壓所下載的文件,建議右鍵單擊「文件」,然后選擇「Extract Here」,手動進行解壓操作。

      只需一臺電腦,用 Python 實時追蹤新冠病毒分布

      之后你會發現在該?件夾內,有?個名為「chromedriver」的?件,我們需要按照下面的步驟將其移?計算機上的特定?件夾。

      • 第一步,打開終端并輸?以下命令:

      sudo su#進?root 模式 cd 

      #從當前位置返回到基礎 mv / home / *your_pc_name * / Downloads / chromedriver / usr / local / bin 

      #將?件移動到正確的位置

      注意:其中的「*your_pc_name *」部分,需要替換為所用計算機的實際名稱。

      • 第二步,打開編輯器,作者選擇的是 Visual Studio Code(https://code.visualstudio.com/ )。

      • 第三步,新建一個項?,并創建兩個新?件。可參考下面作者的設置:

      只需一臺電腦,用 Python 實時追蹤新冠病毒分布

      Visual Studio Code—項目設置

      并且可以發現,在 VS Code 中有?個「Terminal」選項,可以?它在 VS Code 中打開內部終端。

      第四步,安裝虛擬環境和?于 Web 爬蟲驅動程序的 selenium 工具,并在終端中鍵?下面這些命令:

      pip3 install virtualenv

      source venv / bin / activate 

      pip3 install selenium

      最后激活虛擬環境,我們的準備工作就完成了。

      只需一臺電腦,用 Python 實時追蹤新冠病毒分布

      開始編碼

      現在,我們完成對環境的搭建以及掌握所需信息獲取地址后,就要開始做「編碼實現」部分了。

      我們將為其創建為?個類以及函數,使?任何名稱創建即可,然后啟動 Chrome 驅動程序:

      class Coronaviru(): 

                 def __init __(self): 

                      self.driver = webdriver.Chrome()

      然后,轉到 VS Code 內部終端并輸?下面的代碼,此命令使我們可以將?件作為交互式場所:

      python -i coronavirus.py

      之后,將瀏覽器的新標簽頁打開,我們開始向其發出命令。(如果想進?實驗,可以使?命令?代替在源?件中鍵?命令?)

      對于終端,命令為:

      bot = Coronavirus() 

      bot.driver.get('https://www.worldometers.info/coronavirus/')

       現在,使其獲取源代碼:

      self.driver.get('https://www.worldometers.info/coronavirus/') 

      當我們進??站時,我們需要提取所選網頁中的表格。因此,我們將以這種?式進?操作,將表格作為 Web 元素并將其保存在「表」下。

      為了在?頁上找到該元素,我們使? find_element_by_xpath()并使?其定義的 ID 對其進?過濾。

      table = self.driver.find_element_by_xpath('//* 

      [@id="main_table_countries"]/tbody[1]')

      只需一臺電腦,用 Python 實時追蹤新冠病毒分布

      在該表中,通過對應的名稱,確保要找到我們最初需要獲取國家或地區。

      country_element = table.find_element_by_xpath(「// td 

      [contains(text(),'China')]」))

      再次使?XPath,我們嘗試使用「China」的數據。由于我們需要「China」旁邊的數據,因此我們必須確保它屬于該?,這就是為什么要從 country_element 中獲取父節點:

      row = country_element.find_element_by_xpath("./..")

      在該?內,我們獲取了所需的所有數據,我們將該字符串拆分為每?列,并將其保存為變量:

      data = row.text.split(" ") 

      total_cases = data[1] 

      new_cases = data[2] 

      total_deaths = data[3] 

      new_deaths = data[4]

      active_cases = data[5] 

      total_recovered = data[6] 

      serious_critical = data[7]

      其中,「data」是?個來?字符串拆分的列表,然后我們將其分散到不同的變量中以備后?。

      發送電?郵件

      在完成編碼部分之后,我們就要進入電子郵件發送部分了。

      只需一臺電腦,用 Python 實時追蹤新冠病毒分布

      首先,需要設置電?郵件發送服務器。作者用到了 Google 帳戶服務,然后進?「應?程序密碼」,在那??成?個新密碼并在所寫腳本程序中使?它。

      然后,我們將通過以下代碼,為我們將收到的電?郵件制作模板:

      def send_mail(country_element, total_cases, new_cases, total_deaths, new_deaths, active_cases, total_recovered, serious_critical):

      server = smtplib.SMTP('smtp.gmail.com', 587)

      server.ehlo()

      server.starttls()

      server.ehlo()

      server.login('email', 'password')

      subject = 'Coronavirus stats in your country today!'

      body = 'Today in ' + country_element + '\

      \nTotal cases: ' + total_cases +'\

      \nNew cases: ' + new_cases + '\

      \nTotal deaths: ' + total_deaths + '\

      \nNew deaths: ' + new_deaths + '\

      \nActive cases: ' + active_cases + '\

      \nTotal recovered: ' + total_recovered + '\

      \nSerious, critical cases: ' + serious_critical + '\

      \nCheck the link: https://www.worldometers.info/coronavirus/' 

      msg = f"Subject: {subject}\n\n{body}"

      server.sendmail(

      'Coronavirus',

      'email',

      msg

      )

      print('Hey Email has been sent!')

      server.quit()

      這樣,就能夠實現單次的最新疫情信息獲取了。如果你希望每天重復執?此腳本,可以通過下面鏈接中的編碼實現:

      https://stackoverflow.com/questions/15088037/python-script-to-do-something-at-the-same-time-every-day 

      成功訂閱!

      最后,我們就得到了自制的郵件訂閱啦(如下所示)。

      只需一臺電腦,用 Python 實時追蹤新冠病毒分布

      電子郵件形式成功

      當然,除了可以將我們所在地區的新冠病毒最新情況發到個人郵箱外,通過這樣的方法,舉一反三,你想訂閱的其它資訊也可以自定義發送,而且還沒有任何廣告。

      而在此,也再次提醒所有朋友,在目前疫情持續情況下,一定要勤洗手、戴口罩;同時,盡可能避免與他?進?過多的?體接觸。

      原文地址:

      https://towardsdatascience.com/how-to-track-coronavirus-with-python-a5320b778c8e 

      完整開源代碼 Github 地址:

      https://github.com/lazargugleta/coronavirusStats/blob/master/coronavirus.py 

      雷鋒網 AI 源創評論

      雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知

      只需一臺電腦,用 Python 實時追蹤新冠病毒分布

      分享:
      相關文章
      當月熱門文章
      最新文章
      請填寫申請人資料
      姓名
      電話
      郵箱
      微信號
      作品鏈接
      個人簡介
      為了您的賬戶安全,請驗證郵箱
      您的郵箱還未驗證,完成可獲20積分喲!
      請驗證您的郵箱
      立即驗證
      完善賬號信息
      您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
      立即設置 以后再說
      主站蜘蛛池模板: 欧美国产三级| 精品无码黑人又粗又大又长| 免费人成视频在线观看不卡| 亚洲精品不卡av在线播放| 欧洲中文字幕国产精品| 精品无码av一区二区三区不卡 | 国模小黎自慰gogo人体| 巨胸喷奶水WWW视频网站| 毛片a久久99亚洲欧美毛片| 祥云县| 中文字幕亚洲综合久久综合| 日韩成人无码毛片| 日韩美女久久| 无码伊人66久久大杳蕉网站谷歌| 国产成人亚综合91精品首页| 老熟女AV| 欧美日韩中文字幕久久伊人| 亚洲国产成人精品青青草原导航| 高台县| 亚洲国产欧美在线观看| 国产AV影院| 亚洲精品成人a| 亚洲男人的天堂久久香蕉| 色噜噜狠狠综曰曰曰| 国产高清在线A免费视频观看| 成年大片免费视频播放手机不卡| 福利所第一导航福利| 亚洲老妇女亚洲老熟女久| 新婚少妇无套内谢国语播放| AV亚洲?电影AV?AV天堂| 少妇粉嫩小泬喷水视频www| 亚洲video| 国产在线观看你懂得| 亚洲最大的成人网| 夜夜春视频| 又黄又爽又色的少妇毛片| 亚洲人成无码WWW久久久| 国产偷自视频区视频| 亚洲福利视频一区二区| 99久久国产综合精品女同| 亚洲精品久久区二区三区蜜桃臀|