首頁 > RoWay專欄 > LineNotify X Python(二)爬取新聞與推送格...

LineNotify X Python(二)爬取新聞與推送格式

Python
Python教學
程式交易軟體
觀念分享

上一篇居然反應頗熱烈,這篇就應觀眾需求,

來跟大家針對Notify去做更進一步的講解囉!

上一篇文章中提到Python如何與LineNotify做整合,

這篇就要與大家來分享Notify即便拿到數據後,

要怎麼做成自己要的展示格式囉!

為何需要調整格式:

如果用手機瀏覽、電腦版瀏覽,每個訊息所顯示的單行長度其實都不一樣,所以這時候就像打文章一樣,需要讓文字到一定程度後就得要換行,避免格式跑掉才行,或是有不同需求所需要衍生出不同的使用方法等等,故調整格式也就是讓LINE通知自己時,自己可以快速瀏覽訊息的方式。

我們主要會分成這三篇來描述:

文字格式:換行、加粗體(待補、敬請期待)

上傳特定圖片:請參考這一篇(待補、敬請期待)

上貼紙做圖片互動:請參考這一篇(待補、敬請期待)

取得新聞資訊:

以鉅亨網當範例:

找到頭條網址: https://news.cnyes.com/news/cat/headline?exp=a

找到對應的div:

開始coding囉!

第一步:完成基本import

把該import的丟進來,也把之前提到的LineNotify的函式也丟進來,同時import token

第二步:觀察內容

會發現文章都是在 class=”_2nhA theme-left-col” 的這個設置裡。

第三步:get 相關資訊

第四步:找出前五篇最新的新聞:

將網址與文字分開,並且用find_all的list特性把前五篇找出來,

之後將找出來的內容存在news 的 list 裡面:

第五步:將相關資訊丟給 LineNotify的 函式,就可以在執行後完成傳送囉!

完整程式碼如下:

# 客官以下請自行取用
import requests
from bs4 import BeautifulSoup
from LineNotify import lineNotifyMessage
from config import LineNotify_qp_datacollecting

res = requests.get('https://news.cnyes.com/news/cat/headline?exp=a').content
soup = BeautifulSoup(res, 'html.parser')
go = soup.find("div", {"class": "_2bFl theme-list"})
basic = 'https://news.cnyes.com'
news = []
for i in range(5):
    news.append(
        [
            go.find_all('a')[i].text,
            basic+go.find_all('a')[i]['href'],
            '     '
        ]
    )
# print(news)
lineNotifyMessage(LineNotify_qp_datacollecting, news)

小技巧提醒:

  • 之所以要多存’ ‘的空白字串是因為如果不存,那Line自己轉成網址的時候,會把不相干的文字也轉成網址。

最後,就成功收到訊息啦!

至於想要排程或是自動化的,就可以去加入time schedule等函式去完成自動執行哦!

這篇就到這邊,謝謝大家啦!

其餘文章還在趕工,拜託別催啦~


量化通粉絲社群,定期分享實用資源
✅加入LINE匿名群組量化通 QuantPass」無壓力討論與分享!
✅追蹤量化通的粉絲專頁量化通 QuantPass」,即時獲取的實用資源!

程式交易課程推薦
📣 Python 程式交易系列線上課程-手把手開始用程式交易打造自己的被動收入!

發表迴響

作家資訊

量化通專家
RoWay

更多文章

?
我要提問