[PYTHON] Un script qui poursuit sa recherche jusqu'à ce que l'URL correspondante soit mise en signet avec Hatena Bookmark

Si vous écrivez un article sur votre blog, avez-vous déjà envie de savoir s'il est mis en signet? J'ai. C'est pourquoi j'ai fait un gars qui vérifie jusqu'à ce qu'un nouveau signet soit ajouté, puis m'alerte lorsqu'un nouveau signet est ajouté. Vous n'avez plus besoin de recharger votre navigateur. Tu l'as fait!

Cependant, la notification est limitée à Ubuntu, donc si vous êtes un Mac, veuillez le réécrire de manière appropriée.

python



# -*- coding: utf-8 -*-
import os
import sys
import urllib
import time
import datetime
from bs4 import BeautifulSoup


def user_loop():
    url = sys.argv[1].replace('http://', 'http://b.hatena.ne.jp/entry/')
    print "Checking ->", url
    previous = None
    while 1:
        html = urllib.urlopen(url).read().decode('utf-8')
        soup = BeautifulSoup(html)
        user = int(soup.find('ul', {'class': 'users'}).find('span').text)
        if previous is None:
            previous = user
            continue

        if previous != user:
            os.system('notify-send -u critical "Favoris" "%d users"' % user)
        previous = user
        time.sleep(600)

def check_loop():
    url = sys.argv[1].replace('http://', 'http://b.hatena.ne.jp/entry/')
    print "Polling -> ", url
    while 1:
        html = urllib.urlopen(url).read().decode('utf-8')
        if html.find(u'Cette page n'a pas encore été mise en signet.') == -1:
            title = "La page cible a été mise en signet."
            os.system('notify-send -u critical "%s"' % title)
            return
        title = "Il ne semble pas encore être mis en signet."
        popup = "[%s]<br />" % (datetime.datetime.now().isoformat())
        popup += "Réessayez après 5 minutes."
        os.system('notify-send -u low "%s" "%s"' % (title, popup))
        time.sleep(300)

def command():

    if len(sys.argv) == 1:
        print "usage: poll.py (url)"
        sys.exit(1)
    check_loop()
    user_loop()

if __name__ == '__main__':
    command()

Recommended Posts

Un script qui poursuit sa recherche jusqu'à ce que l'URL correspondante soit mise en signet avec Hatena Bookmark
Script qui analyse morphologiquement l'URL spécifiée
Un modèle qui identifie la guitare avec fast.ai
Créez un script python pour vérifier si le lien à l'URL spécifiée est valide
Créez un BOT qui raccourcit l'URL Discord
Script Blender terminé (2.8) qui n'efface que la jupe
Un mémo que j'ai touché au magasin de données avec python
Script pour changer la longueur du son avec REAPER
Un script qui facilite la création de menus riches avec l'API de messagerie LINE
Solution de contournement pour sys.argv non transmise lors de l'exécution d'un script Python avec uniquement le nom de fichier sur Python2.7 sous Windows