亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

利用Python實現每日新聞推送

 更新時間:2023年06月18日 10:29:29   作者:ooyq  
這篇文章主要為大家詳細介紹了如何使用Python編寫簡單的邏輯,通過調用API接口實現每日新聞推送功能,感興趣的小伙伴可以跟隨小編一起學習一下

前言

本文將介紹如何使用Python編寫簡單的邏輯,通過調用API接口實現每日新聞推送功能。

步驟

1.導入所需的庫: 在代碼的開頭,我們需要導入所需的庫。通常,我們會使用requests庫來發(fā)送HTTP請求,以獲取新聞數據。

import os
import requests

2.設置環(huán)境變量【可選】:環(huán)境變量是在操作系統(tǒng)或運行環(huán)境中設置的全局變量,可以存儲一些敏感或配置信息,例如API密鑰、訪問令牌等。通過使用環(huán)境變量,可以將這些敏感信息與代碼分離,提高代碼的安全性和可維護性。

pushplus_token = os.environ.get('pushplus_token')   #pushplus推送令牌
topic = os.environ.get('topic')   #pushplus群組id

PUSHPLUS_TOKEN

Pushplus 官網申請,免費微信消息推送

在這個例子中,os.environ.get('pushplus_token')和os.environ.get('topic')分別獲取名為pushplus_token和topic的環(huán)境變量的值。這些環(huán)境變量應該在運行代碼之前在操作系統(tǒng)或運行環(huán)境中進行設置。

獲取環(huán)境變量的好處是,您可以在不修改代碼的情況下,根據需要在不同的環(huán)境中設置不同的值。例如,在開發(fā)環(huán)境和生產環(huán)境中可以使用不同的推送令牌和主題,而無需更改代碼本身。

通過使用os.environ.get()函數,可以安全地獲取環(huán)境變量的值。如果環(huán)境變量不存在,get()函數將返回None,因此您可以根據需要進行錯誤處理或設置默認值。

3.調用新聞API接口: 新聞API接口是一個提供新聞數據的服務。我們可以使用requests庫向API發(fā)送HTTP請求,獲取新聞數據的響應。根據API提供的文檔,我們可以了解如何構造請求,例如指定新聞的類別、時間范圍等。

image_url = "https://api.03c3.cn/zb/"  #圖片版本接口
text_url = "https://api.03c3.cn/zb/text.php"  #文字版本接口

4.解析API響應: 獲取到API的響應后,我們需要使用適當的方法對其進行解析。通常情況下,API響應會以JSON格式返回,我們可以使用Python的內置json庫將其解析為可操作的數據。

text_response = requests.get(text_url)
content = text_response.text

在requests庫中,text屬性是一個返回響應內容的屬性。當使用requests.get()方法發(fā)送GET請求并獲取到響應后,可以通過text屬性獲取響應內容的純文本形式。
在這個特定的例子中,text_response.text將獲取到的API響應內容以純文本形式賦值給content變量,以便后續(xù)使用。這樣可以將API返回的純文本內容作為推送消息的一部分,進行進一步處理和構造推送數據。

5.提取新聞內容: 通過解析API響應,我們可以提取出需要的新聞內容,例如新聞標題、摘要和鏈接等信息。可以將提取的信息存儲在適當的數據結構中,例如列表或字典。

6.設置推送參數: 在代碼中,我們可以定義推送的參數,例如推送標題、內容格式和目標用戶等。根據推送服務提供商的要求,我們可以選擇合適的參數設置。

7.構造推送消息: 使用獲取到的新聞信息,我們可以根據推送服務的要求,構造推送消息的格式??梢詫⑿侣剺祟}和鏈接等信息整合為一條推送消息,以便發(fā)送給用戶。

pushplus_data = {
    "token": pushplus_token,
    "title": "每天60秒讀懂世界",
    "content": "{}<br/><img src='{}' />".format(content,image_url),
    # "topic": "群組ID",
    "template": "html"
}

pushplus_data字典定義了推送消息的參數和內容。其中:

  • "token"字段存儲了推送服務的訪問令牌,它的值是之前從環(huán)境變量中獲取的pushplus_token。
  • "title"字段存儲了推送消息的標題,它的值是固定的字符串 "每天60秒讀懂世界"。
  • "content"字段存儲了推送消息的內容,它的值是通過格式化字符串的方式將content和image_url插入到HTML模板中的。其中,content是之前從API獲取的新聞內容,image_url是存儲圖片URL的變量。
  • "template"字段指定了推送消息的模板類型,這里使用了HTML模板。

注意:在代碼中有一行注釋掉的 "topic": "群組ID" 字段,這是用于指定推送消息發(fā)送到指定群組的ID,如果需要發(fā)送到特定的群組,可以取消注釋并設置相應的群組ID值。

8.發(fā)送推送請求: 使用推送服務提供商的API,我們可以通過發(fā)送HTTP請求,將構造好的推送消息發(fā)送給目標用戶。推送服務將根據提供的參數,將推送消息推送到用戶的設備上。

pushplus_url = "https://www.pushplus.plus//send"
requests.post(pushplus_url, json=pushplus_data)

pushplus_url變量存儲了推送服務提供商的API地址,即要發(fā)送POST請求的目標URL。

最后,使用requests.post()方法向pushplus_url發(fā)送POST請求,將pushplus_data以JSON格式作為請求的正文進行傳遞。這樣,推送服務提供商的API將根據傳遞的參數和內容,將推送消息發(fā)送給目標用戶。

完整代碼

import os
import requests
pushplus_token = os.environ.get('pushplus_token')
topic = os.environ.get('topic')
image_url = "https://api.03c3.cn/zb/"
text_url = "https://api.03c3.cn/zb/text.php"
text_response = requests.get(text_url)
content = text_response.text
pushplus_url = "https://www.pushplus.plus//send"
pushplus_data = {
    "token": pushplus_token,
    "title": "每天60秒讀懂世界",
    "content": "{}<br/><img src='{}' />".format(content,image_url),
    # "topic": "群組ID",
    "template": "html"
}
requests.post(pushplus_url, json=pushplus_data)

工作流文件

name: auto
on:
  schedule:
    - cron: '30 22 * * *' #每天六點半
  workflow_dispatch: 
env:
  pushplus_token: ${{ secrets.PUSHPLUS_TOKEN }} 
  topic: ${{ secrets.TOPIC }}
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Check out the repository
        uses: actions/checkout@v3
      - name: Set up Python 
        uses: actions/setup-python@v3
        with: 
          python-version: '3.10'
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install requests 
      - name: Run main.py
        run: python main.py  #文件名

倉庫地址,可以直接Fork配置運行

希望本文能夠幫助您了解如何利用Python實現每日新聞推送功能的簡單邏輯。

到此這篇關于利用Python實現每日新聞推送的文章就介紹到這了,更多相關Python新聞推送內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python中concurrent.futures的具體使用

    python中concurrent.futures的具體使用

    concurrent.futures是Python標準庫的一部分,提供了ThreadPoolExecutor和ProcessPoolExecutor兩種執(zhí)行器,用于管理線程池和進程池,通過這些執(zhí)行器,可以簡化多線程和多進程任務的管理,提高程序執(zhí)行效率
    2024-09-09
  • Python學習資料

    Python學習資料

    Python學習資料...
    2007-02-02
  • Django?ORM?F對象和Q對象查詢

    Django?ORM?F對象和Q對象查詢

    Django提供了兩個非常有用的工具:F對象和Q對象,方便了在一些特殊場景下的查詢過程,這篇文章主要介紹了Django?ORM?F對象和Q對象查詢,需要的朋友可以參考下
    2022-10-10
  • Jupyter notebook如何修改平臺字體

    Jupyter notebook如何修改平臺字體

    這篇文章主要介紹了Jupyter notebook如何修改平臺字體,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • Python語法學習之進程池與進程鎖詳解

    Python語法學習之進程池與進程鎖詳解

    這篇文章主要為大家介紹了Python進程中兩個重要的知識點:進程池與進程鎖,文中通過示例詳細為大家講解了二者的使用,感興趣的可以了解下
    2022-04-04
  • python GUI庫圖形界面開發(fā)之PyQt5中QMainWindow, QWidget以及QDialog的區(qū)別和選擇

    python GUI庫圖形界面開發(fā)之PyQt5中QMainWindow, QWidget以及QDialog的區(qū)別和選擇

    這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5中QMainWindow, QWidget以及QDialog的區(qū)別和選擇,需要的朋友可以參考下
    2020-02-02
  • 14個用Python實現的Excel常用操作總結

    14個用Python實現的Excel常用操作總結

    自從學了Python后就逼迫自己不用Excel,所有操作用Python實現。目的是鞏固Python,與增強數據處理能力。本文為大家總結了14個用Python實現的Excel常用操作,需要的可以參考一下
    2022-06-06
  • Python批量生成幻影坦克圖片實例代碼

    Python批量生成幻影坦克圖片實例代碼

    這篇文章主要給大家介紹了關于如何利用Python批量生成幻影坦克圖片的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-06-06
  • Python虛擬環(huán)境conda的安裝使用教程

    Python虛擬環(huán)境conda的安裝使用教程

    在性能和資源占用方面,venv?通常更適合輕量級項目、純Python應用以及對資源敏感的場景,其簡單快速的特點使得環(huán)境創(chuàng)建和管理更為高效,這篇文章主要介紹了Python虛擬環(huán)境conda的安裝使用教程,需要的朋友可以參考下
    2024-03-03
  • python實現linux下使用xcopy的方法

    python實現linux下使用xcopy的方法

    這篇文章主要介紹了python實現linux下使用xcopy的方法,可實現模仿windows下的xcopy命令功能,需要的朋友可以參考下
    2015-06-06

最新評論