web_summary / app.py
fudii0921's picture
Create app.py
e87fb3e verified
Raw History Blame Contribute Delete
1.12 kB
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()