Archiv für den Monat: August 2012

Was macht diese RegExe?

(?:http://(?:(?:(?:(?:(?:a-zA-Zd?). )(?:a-zA-Z?))|(?:(?:d+)(?:.(?:d+) ){3}))(?::(?:d+))?)(?:/(?:(?:(?:(?:[a-zA-Zd$-.+!'(),]|(?:%[a-fA-F d]{2}))|[;:@&=]))(?:/(?:(?:(?:[a-zA-Zd$-.+!'(),]|(?:%[a-fA-Fd]{ 2}))|[;:@&=]))))(?:?(?:(?:(?:[a-zA-Zd$-.+!'(),]|(?:%[a-fA-Fd]{ 2}))|[;:@&=])))?)?)|(?:ftp://(?:(?:(?:(?:(?:[a-zA-Zd$-.+!'(),]|(? :%[a-fA-Fd]{2}))|[;?&=]))(?::(?:(?:(?:[a-zA-Zd$-_.+!'(),]|(?:%[a- fA-Fd]{2}))|[;?&=])))?@)?(?:(?:(?:(?:(?:a-zA-Zd?).)* (...)

Was macht diese RegExe? weiterlesen

wikipedia2bibtex

Hier ein kleines Python-Script um aus einem Wikipedia-Artikel einen BibTex-Eintrag zu generieren.

Known Issues

  • Leider habe ich noch keine schöne Variane gefunden das Artikel Jahr rauszufinden. Deswegen wird immer das aktuelle Jahr gesetzt.
  • Als Key des BibTex-Eintrags wird immer der seitenspezifische URL Abschnitt genommen. Dabei kann es zu Problemen kommen wenn Sonderzeichen o. ä. benutzt werden.
import sys
import urllib.request
from bs4 import BeautifulSoup
import time
import re

urlstring = sys.argv[1];
print('try to retrieve "%s"...' % urlstring)

try:
 req = urllib.request.Request(urlstring, headers={'User-Agent' : "Magic Browser"})
 with urllib.request.urlopen(req) as url:
 wikisite = url.read()
except ValueError:
 sys.stderr.write('unkown url type "%s"n' % urlstring)
 sys.exit(1)

soup = BeautifulSoup(wikisite)
label = urlstring.rsplit('/',1)[1]
title = soup.title.string
title = title.split('–',1)[0]
title = title.split('-',1)[0]
year = time.strftime("%Y")
timestamp = time.strftime("%d.%m.%Y")

print('@misc{wiki:%s,ntauthor = "Wikipedia",nttitle = "%s--- {W}ikipedia", ntyear = "%s", nthowpublished = "%s", ntnote = "[Online; accessed %s]"n}' % (label, title, year, urlstring, timestamp))