gradio openai requests trafilatura beautifulsoup4 lxml matplotlib reportlab