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()