我正在使用Biopython查询PubMed的某些结果。这是代码的一部分:

def search(query):
        Entrez.email = '[email protected]'
        handle = Entrez.esearch(db   = 'pubmed',
                                sort = 'relevance',
                                retmax = '30000',
                                retmode = 'xml',
                                term = query)
        results = Entrez.read(handle)
        return results


我希望结果只有英文论文。我在http://www.ncbi.nlm.nih.gov/books/NBK25499/处查看了文档,但没有找到此过滤器的属性。

PubMed的手动搜索允许按语言过滤。我应该如何修改代码?

最佳答案

您可以如下所示修改搜索词:

query = "{} AND English[Language]".format(query)

handle = Entrez.esearch(db='pubmed',
                        sort='relevance',
                        retmax='30',
                        retmode='xml',
                        term=query)

10-05 18:05