Wenn Sie einen Artikel in Ihrem Blog schreiben, möchten Sie jemals herausfinden, ob er mit einem Lesezeichen versehen ist? Ich habe. Deshalb habe ich einen Mann gemacht, der prüft, bis ein neues Lesezeichen hinzugefügt wird, und mich dann benachrichtigt, wenn ein neues Lesezeichen hinzugefügt wird. Jetzt müssen Sie Ihren Browser nicht mehr neu laden. Du hast es geschafft!
Notify ist jedoch auf Ubuntu beschränkt. Wenn Sie also ein Mac sind, schreiben Sie ihn bitte entsprechend um.
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 "Lesezeichen" "%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'Diese Seite wurde noch nicht mit einem Lesezeichen versehen.') == -1:
title = "Die Zielseite wurde mit einem Lesezeichen versehen."
os.system('notify-send -u critical "%s"' % title)
return
title = "Es scheint noch nicht mit einem Lesezeichen versehen zu sein."
popup = "[%s]<br />" % (datetime.datetime.now().isoformat())
popup += "Versuchen Sie es nach 5 Minuten erneut."
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