feat: get_abstract_from_elsevier 返回抓取信息

This commit is contained in:
caoqianming 2026-01-30 14:09:09 +08:00
parent 16388682b9
commit e2687874eb
1 changed files with 7 additions and 3 deletions

View File

@ -136,6 +136,8 @@ def get_abstract_from_elsevier(number_of_task:int = 20):
"httpAccept": "text/xml"
}
err_msg = ""
count_abs = 0
count_fulltext = 0
with requests.Session() as req:
for paper in qs[:number_of_task]:
if not show_task_run(def_name):
@ -175,6 +177,7 @@ def get_abstract_from_elsevier(number_of_task:int = 20):
)
paper.has_abstract = True
paper.has_abstract_xml = True
count_abs += 1
else:
paper.save_fail_reason("elsevier_abstract_not_found")
continue
@ -189,6 +192,7 @@ def get_abstract_from_elsevier(number_of_task:int = 20):
paper.has_fulltext = True
paper.has_fulltext_xml = True
save_pdf_from_elsevier(paper)
count_fulltext += 1
paper.save_file_xml(xml_str)
paper.save(update_fields=["has_abstract",
@ -200,8 +204,8 @@ def get_abstract_from_elsevier(number_of_task:int = 20):
finally:
paper.fetch_end()
qs_count = qs.count()
if show_task_run(def_name) and qs_count > 0:
if show_task_run(def_name):
current_app.send_task(
"apps.resm.tasks.get_abstract_from_elsevier",
kwargs={
@ -209,7 +213,7 @@ def get_abstract_from_elsevier(number_of_task:int = 20):
},
countdown=5,
)
return f'{def_name}, {err_msg}, remaining {qs_count} papers'
return f'{err_msg}, get {count_abs} abstracts, {count_fulltext} fulltexts'
@shared_task(base=CustomTask)