Я работаю над опубликованным проектом, где мне нужно извлечь идентификаторы для бесплатного полного текста и бесплатных статей в формате pm c. Это мой код.
import requests
from bs4 import BeautifulSoup
from Bio import Entrez
Entrez.email = "abc@gmail.com" # Always tell NCBI who you are
handle = Entrez.esearch(db="pubmed", term="cough")
record = Entrez.read(handle)
count = record['Count']
handle = Entrez.esearch(db="pubmed", term="cough", retmax=count)
record = Entrez.read(handle)
free_article_ids = []
for id_ in record['IdList']:
req = requests.get(f"https://www.ncbi.nlm.nih.gov/pubmed/{id_}")
soup = BeautifulSoup(req.text, 'lxml')
status = soup.find('span', {'class':'status_icon'})
if status is None:
continue
elif status.text in ["Free full text", "Free PMC Article"]:
free_article_ids.append(id_)
print(free_article_ids)
Проблема с моим кодом что для получения результата требуется слишком много времени, и я хочу ускорить этот процесс. Как мне это сделать?