【发布时间】:2012-03-31 04:27:43
【问题描述】:
我想了解专利代理人和专利代理人在美国专利商标局注册的比率。美国专利商标局提供了律师和代理人数据的 .zip 文件,但奇怪的是,在 .zip 文件中没有提供注册日期。这些日期仅在 USPTO 的网站上以每位律师或代理人的名义提供。
为了下拉日期,我使用了以下内容:
curl -q https://oedci.uspto.gov/OEDCI/details.do?regisNum=[25560-69398:500] | sed -e 's/<[^>]*>//g' | sed -n -e '/Registered/,/nbsp/p' -e '/Registration/,/nbsp/p' | sed -e 's/ //g' > dates.txt
我只需要这么多数据来确定趋势,所以我选择为每 500 名律师/代理人提取注册日期。
我最终得到了一个文件,其中包含的信息比我需要的多一些(例如,我不需要标题,只需要注册号和日期),但该文件足够小,可以手动编辑和随后绘图。
问题:有没有更好和/或更简单的方法来完成我在这里的目标?例如,不手动编辑任何内容,直接生成列数据进行绘图,这将是非常好的。
注意事项:
1) 有些律师有两个注册日期,一个是他们注册为代理人的日期,一个是他们注册为律师的日期。我只需要第一次约会,而我不得不手动编辑第二次约会。
2) 有些注册号不存在。在我的数据集中,使用上面的命令,如果注册号不存在,则跳过它。
谢谢!
【问题讨论】:
-
肯定有很多方法,但我会用你最喜欢的语言编写脚本(perl 非常适合这种类型的工作)
-
这些是一些非常重要的警告。考虑重新构想您的流程并将数据存储到开源数据库中。即使您可以使用有限的工具来解决这个问题,那么您发送的信息是“我总是可以快速而肮脏地完成它”,但随后您被分配了一个数据库中的 Q&D 项目,但是,令人惊讶的是,你最终不得不使用 sed/awk/perl 来实现一个数据库。如果你确定它永远不会超过这个,那么继续寻找。否则可能是时候重新考虑你的方法了。无论如何,祝你好运!
-
你的意思是安静/沉默?
-q用于wget。-s代表curl。 -
当然,在理想情况下,该站点将提供官方的、有文档的、免费的 JSON 提要,而不是一个愚蠢的 zip 文件。抓取永远不会是可靠、稳健或可持续的。
标签: linux curl sed web web-scraping