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