欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用Python實現(xiàn)每日新聞推送

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

前言

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

步驟

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

import os
import requests

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

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

PUSHPLUS_TOKEN

Pushplus 官網(wǎng)申請,免費微信消息推送

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

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

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

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

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

4.解析API響應(yīng): 獲取到API的響應(yīng)后,我們需要使用適當(dāng)?shù)姆椒▽ζ溥M行解析。通常情況下,API響應(yīng)會以JSON格式返回,我們可以使用Python的內(nèi)置json庫將其解析為可操作的數(shù)據(jù)。

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

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

5.提取新聞內(nèi)容: 通過解析API響應(yīng),我們可以提取出需要的新聞內(nèi)容,例如新聞標(biāo)題、摘要和鏈接等信息??梢詫⑻崛〉男畔⒋鎯υ谶m當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)中,例如列表或字典。

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

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

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

pushplus_data字典定義了推送消息的參數(shù)和內(nèi)容。其中:

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

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

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

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

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

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

完整代碼

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實現(xiàn)每日新聞推送功能的簡單邏輯。

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

相關(guān)文章

  • python中concurrent.futures的具體使用

    python中concurrent.futures的具體使用

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

    Python學(xué)習(xí)資料

    Python學(xué)習(xí)資料...
    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如何修改平臺字體,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • Python語法學(xué)習(xí)之進程池與進程鎖詳解

    Python語法學(xué)習(xí)之進程池與進程鎖詳解

    這篇文章主要為大家介紹了Python進程中兩個重要的知識點:進程池與進程鎖,文中通過示例詳細(xì)為大家講解了二者的使用,感興趣的可以了解下
    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實現(xiàn)的Excel常用操作總結(jié)

    14個用Python實現(xiàn)的Excel常用操作總結(jié)

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

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

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

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

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

    python實現(xiàn)linux下使用xcopy的方法

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

最新評論