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