【问题标题】:Python module for searching patent databases, ie USPTO or EPO用于检索专利数据库的 Python 模块,即 USPTO 或 EPO
【发布时间】:2013-02-08 07:20:54
【问题描述】:

对于我的工作,我必须在生物医学研究和行业中寻找潜在客户。

我使用模块 biopython 编写了一些非常方便的程序,它有一个很好的界面来搜索 NCBI。我还使用了clinical_trials 模块来搜索clinicaltrials.gov。

我现在想搜索专利数据库,如 EPO 或 USPTO,但我什至找不到任何 python 模块的踪迹。但也许我遗漏了一些明显的东西?

由于 google 有专利搜索选项,我想知道是否可能有一个用于搜索 google 的 python 模块可以适应仅搜索专利?

【问题讨论】:

  • IP Street 提供用于搜索美国和欧洲数据库的 RESTful API。它比其他产品更新且更强大。这里是开发者页面:docs.ipstreet.com

标签: python python-2.7 search


【解决方案1】:

您至少可以使用任何 XML 解析工具(例如 lxml python 模块)解析 USPTO。

Gabe Fierro 有一篇很棒的论文,可以在这里找到:Extracting and Formatting Patent Data from USPTO XML(没有付费专区)

Gabe 还参加了一些关于这样做的有用讨论here on this google group

最后,如果您知道自己在寻找什么并且有足够的磁盘空间,您还可以获取本地存储的大量数据以供处理。 USPTO 批量下载here

任何更具体的问题请告诉我!我以前曾涉足过这个领域:)

此外,Google 专利搜索 API 已被弃用,但您现在可以使用 URL 标签通过主要的 Google 搜索 API 进行相同的搜索(我手边没有它们,但您可以通过 Google 专利搜索找到它们,这将由 google.com 回复)。

更新:现在在家中,您想使用 google 自定义搜索 API 进行专利搜索的标志是 &tbm=pts - 请注意,google 自定义搜索引擎和获取相同的代码对于专利搜索非常有益,因为交付的 JSON 具有良好的数据结构,其中包含特定于专利的字段。

示例代码:

import requests
import urllib
import time
import json

access_token = <get yours by signing up for google custom search engine api>
cse_id = <get yours by signing up for google custom search engine api>

# Build url
start=1
search_text = "+(inassignee:\"Altera\" | \"Owner name: Altera\") site:www.google.com/patents/"
# &tbm=pts sets you on the patent search
url = 'https://www.googleapis.com/customsearch/v1?key='+access_token+'&cx='+cse_id+'&start='+str(start)+'&num=10&tbm=pts&q='+ urllib.quote(search_text)

response = requests.get(url)

response.json()
f = open('Sample_patent_data'+str(int(time.time()))+'.txt', 'w')
f.write(json.dumps(response.json(), indent=4))
f.close()

这将(一旦您添加免费的 API 访问信息)获取 Altera 拥有的前十项专利(作为示例)并将生成的 JSON 保存到文本文件中。调出您最喜欢的 Web JSON 编辑器并查看 JSON 文件。特别是我建议查看 ['items'][] 和子 ['pagemap']。只需解析此 JSON,您就可以获得标题、缩略图、sn-ps、标题、链接,甚至引用(如果相关)。

【讨论】:

  • 很好的答案,但您可以通过使用requests 来简化这段代码。
  • @Burhan - 由于我的示例使用请求,我认为您的意思是使用请求来构建查询字符串或执行文件保存操作?当然,它可能是几条衬里,但这对于清楚地展示正在发生的事情并没有那么有用,这是stackoverflow答案中的主要目标,对吧?
  • 我明白你的意思;但是使用 requests 构建查询字符串会自动转义参数;并使用请求保存文件将确保正确传输和保存大型响应。我发现这两个都非常有用。
  • @Burhan - 我知道转义参数并选择显示它,但我不知道请求以特殊方式流式传输大型响应。谢谢你今天教了我一些东西!我要去阅读有关请求如何处理文件的更多信息:)
【解决方案2】:

我不知道现成的 python 模块,但您可以构建自己的。 USPTO 和 EPO 都有 API,可在 http://www.epo.org/searching/free/ops.htmlhttp://tsdr.uspto.gov/ 找到。

我不知道使用这些文档有多么容易,但您可以尝试制作一个简单的查询器来检索和解析结果。当然,你追求的数据越广泛,编写模块的工作量就越多。

【讨论】:

  • TSDR 网站用于商标,而非专利。它代表“商标状态和文件检索”。如果有人有兴趣使用 TSDR 进行商标访问(区别于专利访问),我在 github.com/codingatty/Plumage-py 有一个 Python 模块可以做到这一点。大部分文档都完成了,除了返回的字典;但这些例子是不言自明的。
猜你喜欢
  • 2017-01-14
  • 2013-12-13
  • 1970-01-01
  • 1970-01-01
  • 2020-04-13
  • 2011-01-07
  • 2014-09-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多