Switch to beautifulsoup4 for Python 3 support