有没有一种程序化的方法可以搜索和检索来自整数序列在线百科全书(http://oeis.org)的结果?
我已经在他们的网站上搜索过了,结果总是以html格式返回。他们似乎没有提供API,但在政策声明中,他们说可以通过编程方式访问数据库。但如何在不进行屏幕抓取的情况下完成呢?
非常感谢您的帮助。
OEIS现在提供了多个访问点,不仅使用其内部格式。这些似乎大部分没有记录,所以这里是我发现的所有端点:
https://oeis.org/search?fmt=json&q=<sequenceTerm>&start=<itemToStartAt>
返回一个JSON格式的响应,其中包含给定sequenceTerm
找到的结果。如果返回了太多结果,则count
将大于0,而results
将为null
。如果没有返回结果,则count
将为0。 itemToStartAt
用于对结果进行分页,因为最多只返回10个结果。这从0开始。如果您想返回第二页的结果,则此值应为10。有关每个条目表示的信息可在此处找到。https://oeis.org/search?fmt=text&q=<sequenceTerm>&start=<itemToStartAt>
这里使用了与之前完全相同的参数,但返回的是OEIS内部格式。该格式在此处有详细介绍。除非您的项目要求使用此格式,否则强烈建议使用JSON格式。
https://oeis.org/search?fmt=<json|text>&q=id:A<sequenceNumber>
如果找到sequenceNumber
,则返回单个结果。这是获取单个序列的建议方法,因为它似乎比一些可用作查询的替代方法更加优化。请求通常在一秒钟内完成。可以在此页面上找到替代搜索查询方法。
https://oeis.org/A<sequenceNumber>/graph?png=1
该端点可用于获取用于绘制数据点的图像。或者,将png设置为零会返回包含其图形的HTML页面。https://oeis.org/recent.txt
这将以OEIS内部格式返回最近更新的条目列表。没有可用的参数或JSON格式,因为这似乎只是向客户端提供的静态文本文件。由于OEIS数据库的回复长度(对于某些序列的回复可能超过五秒钟),我强烈建议对请求进行大量缓存,并使用上述端点在其更改时更新。
形式为http://oeis.org/search?fmt=text&q=2,5,14,50,233的URL可以生成格式良好的文本输出结果。
但似乎没有办法以文本形式获取单个数列。
http://www.brotherstechnology.com/math/oeis_mathematica.html