urlcrawl / app.py
seawolf2357's picture
Update app.py
9efc58b verified
raw
history blame
926 Bytes
import gradio as gr
import requests
from bs4 import BeautifulSoup
import re
def fetch_pdf_links():
url = "https://finance.naver.com/research/company_list.naver"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# ๋ชจ๋“  PDF ๋งํฌ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.
pdf_links = soup.find_all('a', href=re.compile("\.pdf$"))
links = []
for link in pdf_links:
full_url = "https://finance.naver.com" + link['href']
# ๋‹ค์šด๋กœ๋“œ ๊ฐ€๋Šฅํ•œ ๋งํฌ ํ˜•ํƒœ๋กœ ์ €์žฅ
links.append([f"<a href='{full_url}' download='{full_url.split('/')[-1]}'>{full_url.split('/')[-1]}</a>"])
return links
# Gradio ์ธํ„ฐํŽ˜์ด์Šค
with gr.Blocks() as app:
btn_fetch = gr.Button("PDF ๋งํฌ ์กฐํšŒ")
output_links = gr.Dataframe(headers=["PDF ๋งํฌ"], interactive=False)
btn_fetch.click(
fn=fetch_pdf_links,
outputs=output_links
)
app.launch()