WEB2MARKDOWN / app.py
Payam75's picture
Update app.py
8001cbd verified
import gradio as gr
from scraper import scrape_to_markdown
import mistune
def process(url: str):
"""
Get website link -> Extract content -> Save in Markdown file -> Generate HTML for display in user interface.
"""
# اجرای تابع وب‌اسکرپر
result = scrape_to_markdown(url)
# اگر خروجی tuple بود، فقط markdown (عنصر اول) رو نگه داریم
md = result[0] if isinstance(result, tuple) else result
# ذخیره‌سازی در فایل Markdown
filename = "output.md"
with open(filename, "w", encoding="utf-8") as f:
f.write(md)
# تبدیل به HTML برای نمایش
html = mistune.create_markdown()(md)
return md, filename, html
# رابط کاربری Gradio
with gr.Blocks(css="style.css") as demo:
gr.Markdown("## 🌐 Web to Markdown Scraper and Converter")
with gr.Row():
url_input = gr.Textbox(label="🔗 Enter the website link", placeholder="https://example.com")
submit_btn = gr.Button("🔥 Content Extraction")
with gr.Tab("📄 Markdown"):
md_output = gr.Textbox(label="Markdown Content", lines=20)
with gr.Tab("💾 Download"):
file_output = gr.File(label="Download Markdown file")
with gr.Tab("🌍 Preview HTML"):
html_output = gr.HTML(label="HTML View")
submit_btn.click(process, inputs=url_input, outputs=[md_output, file_output, html_output])
if __name__ == "__main__":
demo.launch()