import gradio as gr import xmltodict import requests def search(q,rn): api="http://export.arxiv.org/api/query?search_query=SQ&start=0&max_results=MR" r=requests.get(api.replace("SQ",q).replace("MR",str(rn))) cont=xmltodict.parse(r.content)['feed']['entry'] html="" for i,c in enumerate(cont): pdflink=c['id'].replace('/abs/','/pdf/') html+=f"
" html+=f"
{c['title']}
" html+=f"
{c['summary']}
" html+=f"
{pdflink}
" html+="
" return(json.dumps(cont,indent=4)),html with gr.Blocks() as b: with gr.Group(): with gr.Row(): query=gr.Textbox(label="Query") num=gr.Number(label="Count",step=1,value=10) sub=gr.Button() html_out=gr.HTML() json_out=gr.JSON() sub.click(search,[query,num],[json_out,html_out]) b.launch()