私はスキルが不足しているので、私はPythonを再学習しようとしています。私は現在Pubmed APIを使っています。 hereというXMLファイルを解析して、各子( '/ pubmedarticle')を通過するループを実行し、いくつかの物を取得します。記事タイトルの場合は、 pubmedidのキー(pmid)。出力すなわちlxmlでPubmed API xmlを解析し、辞書に子をつけて
は、次のようになります。今、私はちょうど私が欲しいデータを取得するためにlxmlのパッケージを使用する方法を見つけ出すしたいため
{'29150897': {'title': 'Determining best outcomes from community-acquired pneumonia and how to achieve them.'}
'29149862': {'title': 'Telemedicine as an effective intervention to improve antibiotic appropriateness prescription and to reduce costs in pediatrics.'}}
後、私は、など、著者や雑誌などの複数の要因に追加されます辞書に入れる。私のためにこれを行うことができるたくさんのパッケージがあることは知っていますが、それは学習の目的を破るものです。私は別のものの束を試したし、これは私が現在何をしようとしているです:
from lxml import etree
article_url = "http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pubmed&retmode=xml&tool=PMA&id=29150897,29149862"
page = requests.get(article_url)
tree = etree.fromstring(page.content)
dict_out = {}
for x in tree.xpath('//PubmedArticle'):
pmid = ''.join([x.text for x in x.xpath('//MedlineCitation/PMID[@Version="1"]')])
title = ''.join([x.text for x in x.xpath('//ArticleTitle')])
dict_out[pmid] = {'title': title}
print(dict_out)
誰でも洞察力を提供したり、私を導くことができる場合、私はおそらく、このプロセスについては移動する方法についての誤解がありますが、リソースの正しい方向に、それは非常に高く評価されるだろう。
編集:私の謝罪。私はこれよりもずっと速く書いた。私はすべての場合を修正しました。また、それはスロー結果はちょうど最初のタイトルを与えている間PMIDs組み合わせるようだ:
{'2725403628806902': {'title': 'Handshake Stewardship: A Highly Effective Rounding-based Antimicrobial Optimization Service.Monitoring, documenting and reporting the quality of antibiotic use in the Netherlands: a pilot study to establish a national antimicrobial stewardship registry.'}}
Taのすべての
問題は何ですか?コードによって何かが生成されますか?エラーはありますか? – mzjn
'medlinecitation'は' MedlineCitation'でなければなりません。 'pmid'は' PMID'でなければなりません。等々。ケースは重要です! – mzjn
ありがとうmzkn!私はうまくいけば読者のための質問を修正した。 –