我有一些代码可以访问PubMed中的文章,并分析每个XML中的一些信息。该程序在我的计算机上可以正常运行,但是需要很多时间才能完成。因此,当我在UNIX机器上特别是针对此类事情运行它时,我发出的每个请求都会被阻止。在将机器视为病毒之前,每分钟可以进行多少次设置是有限制的,但这不是问题,因为所有请求均被阻止。我检查了一下,只有在PubMed网站上的请求才会发生这种情况。
提前致谢
编辑:我使用jsoup进行连接。在我的程序中使用ProcessBuilder运行wget可以正常工作,而不会被阻塞,但是效率成为问题,因为wget的输出只能用while(br.readline() != null)
读取,这会花费很多运行时间。
最佳答案
您可以尝试通过专用于检索发布数据的其他API(例如RESTful Web Service:http://europepmc.org/RestfulWebService)来访问而不是访问发布的网页。
它允许您以xml格式获取所需的所有数据,我认为查询数量没有限制。
例如,如果要使用pubmed_id=9481671
获取有关文章的所有信息,则需要访问网页:http://www.ebi.ac.uk/europepmc/webservices/rest/search/resulttype=core&query=ext_id:9481671。
关于java - Java PubMed阻止url请求,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20572248/