#python #web-scraping #pubmed
#python #веб-очистка #pubmed
Вопрос:
Я пытаюсь загрузить полные данные заголовка / реферата из PMC / Pubmed. Это извечный вопрос, но ни один из ответов в stackoverflow, похоже, не отвечает на него.
Общий подход заключается в использовании пакета Entrez, но опять же, вам нужно указать условия поиска. Также существует ограничение на количество запросов, которые вы можете отправлять с течением времени.
from Bio import Entrez
Entrez.email = "A.N.Other@example.com"
handle = Entrez.esearch(db="pubmed", term="orchid", retmax=463)
record = Entrez.read(handle)
handle.close()
idlist = record["IdList"]
handle = Entrez.efetch(db="pubmed", id=idlist, rettype="medline", retmode="text")
records = Medline.parse(handle)
for record in records:
print("title:", record.get("TI", "?"))
print("authors:", record.get("AU", "?"))
print("source:", record.get("SO", "?"))
print("")
Могу ли я в любом случае загрузить всю статью данные реферата из PMC, используя Python или напрямую из любых других источников?
Ответ №1:
Один из способов решения этой проблемы — использовать метод esearch с термином, который позволяет искать статьи с начала pubmed, и начинать приводить статьи итеративным способом, изменяя параметр retstart.
batch_size = 20
start = 0
while start<1000:
handle = Entrez.esearch(db="pubmed",term = "2015/3/1:2022/4/30[Publication Date]",retmode="xml",retstart = start, retmax = batch_size)
summaries = Entrez.read(handle)
handle.close()
start = start batch_size