Ich habe eine Liste von PubMed-Einträgen zusammen mit den PubMed-IDs. Ich möchte ein Python-Skript erstellen oder Python verwenden, das eine PubMed-ID-Nummer als Eingabe akzeptiert und dann das Abstract von der PubMed-Website abruft.
Bisher bin ich auf NCBI Eutilities und die Importbibliothek in Python gestoßen, aber ich weiß nicht, wie ich eine Vorlage schreiben soll.
Alle Hinweise werden geschätzt.
Danke,
Wow, ich habe vor ungefähr einer Woche an einem ähnlichen Projekt gearbeitet!
Bearbeiten: Ich habe den Code kürzlich aktualisiert, um BeautifulSoup . Ich habe mein eigenes virtualenv dafür, aber du kannst es mit pip installieren.
Grundsätzlich nimmt mein Programm eine pubed ID, eine DOI oder eine Textdatei von Linien von Pubmed IDs und / oder DOIs und ergreift Informationen über den Artikel. Es kann leicht für Ihre eigenen Bedürfnisse optimiert werden, um die Zusammenfassung zu erhalten, aber hier ist mein Code:
%Vor%Es wird jetzt eine HTML-Datei basierend auf den heruntergeladenen Informationen zurückgegeben. Hier ist die Vorlage.txt:
%Vor%Wenn Sie es ausführen, fragt das Programm nach dem DOI oder der Pubmed ID. Wenn Sie keine angeben, wird pmids.txt.Feel lesen, um den Code nach eigenem Ermessen zu verwenden.
Biopython 's Modul Entrez können Sie die Zusammenfassung zusammen mit allen anderen Metadaten ganz einfach erhalten. Dies wird den Abstract ausdrucken:
%Vor%Und hier ist eine Funktion, die XML holt und nur die Zusammenfassung zurückgibt:
%Vor%P.S. Ich hatte eigentlich das Bedürfnis, diese Art von Aufgaben in einer echten Aufgabe zu erledigen, also organisierte ich den Code in eine Klasse - sieh diesen Sinn .
Pubmed Artikel haben die Form: Ссылка
Wenn Sie die ID kennen, können Sie das obige abrufen und Sie haben Zugriff auf den Artikel. Das Abstract ist in einer Struktur wie folgt enthalten:
%Vor%Sie würden dann ein Werkzeug benötigen, um das zu extrahieren. Ich würde vorschlagen, Ссылка
zu verwendenSie werden immer noch ein Werkzeug benötigen, um den HTML-Code tatsächlich zu holen. Dafür würde ich phantom.js oder das allseits beliebte Anfrage-Modul verwenden.
Ihr Workflow möchte etwa Folgendes:
%Vor%Tags und Links python text-mining