web_summary / app.py
fudii0921's picture
Create app.py
e87fb3e verified
import gradio as gr
import requests
from sumy.parsers.html import HtmlParser
from sumy.nlp.tokenizers import Tokenizer
from sumy.summarizers.lsa import LsaSummarizer
def summarize_webpage(url):
try:
parser = HtmlParser.from_url(url, Tokenizer("japanese"))
summarizer = LsaSummarizer()
summary = summarizer(parser.document, 5) # 5文で要約
return "\n".join(str(sentence) for sentence in summary)
except Exception as e:
return f"エラー: {str(e)}"
# Gradioインターフェースの作成
iface = gr.Interface(
css="footer {visibility: hidden;}",
theme=gr.themes.Soft(),
fn=summarize_webpage,
inputs=gr.Textbox(label="要約ページのURLを入力",info="例)https://www.sankei.com/article/20250503-LENINLBWF5OIZDNUVVZRM37RFQ/",placeholder="要約ページのURLを入力します。"),
outputs="text",
title="Webページの要約",
description="URLを入力すると、そのページの内容を要約します。",
submit_btn="検索",
clear_btn="クリア",
flagging_mode="never"
)
iface.launch()