将新网址解析为IFTTT

时间:2018-12-15 21:44:41

标签: python python-3.x automation rss ifttt

IFTTT中的RSS阅读器不喜欢https://rss.art19.com/the-daily。 我正在使用python提取一个新链接,并每天早上06:30 schedule进行链接。但是,我发现将新的url解析为IFTTT小程序非常困难。我正在使用glitch.com来组合事件。

关键是要在我的Sonos设置上于06:30自动播放此播客。

        import schedule
        import time
        from bs4 import BeautifulSoup
        import requests


        def job():
            url = 'https://rss.art19.com/the-daily'
            request = requests.get(url)
            respose = request.content.decode('utf-8')
            soup = BeautifulSoup(respose, 'lxml')

            link = soup.find_all('enclosure')[0]

            a = str(link).split(' ')[3]
            x = slice(a)
            y = str(x).split('"')[1]

            print(y) 



        # def notification(message):
        #  report = {}
        #  report[“value1”] = message
        #  requests.post('https://maker.ifttt.com/trigger/play_sonos/with/key/KEY", data=report')

        # notification(number)

        schedule.every().day.at("06:30").do(job,'It is 06:30am')
        print('\n')
        print(' Got it')

        while True:
            schedule.run_pending()
            time.sleep(60)

1 个答案:

答案 0 :(得分:1)

我最终使用了SOCO库。

        from soco import SoCo
        import schedule
        import time
        from bs4 import BeautifulSoup
        import requests

        #Play5
        five_son = SoCo('PLAYER_IP')

        #Play5(Office)
        five_office_son = SoCo('PLAYER_IP')

        #Play3
        three_son = SoCo('PLAYER_IP')
        print( 'Players are Active! ')
        print('\n')


        def get():
            url = 'https://rss.art19.com/the-daily'
            request = requests.get(url)
            respose = request.content.decode('utf-8')
            soup = BeautifulSoup(respose, 'lxml')

            link = soup.find_all('enclosure')[0]

            a = str(link).split(' ')[3]
            x = slice(a)
            y = str(x).split('"')[1]

            return y

        def job():  
            sonos = five_office_son.partymode()
            sonos.play_uri(get())

            track = sonos.get_current_track_info()

            print(track)

            sonos.pause()
            sonos.play()


        schedule.every().monday.at("06:30").do(job,'It is 06:30am')
        schedule.every().tuesday.at("06:30").do(job,'It is 06:30am')
        schedule.every().wednesday.at("06:30").do(job,'It is 06:30am')
        schedule.every().thursday.at("06:30").do(job,'It is 06:30am')
        schedule.every().friday.at("06:30").do(job,'It is 06:30am')
        print('\n')
        print('Got it')

        while True:
            schedule.run_pending()
            time.sleep(60)