Changes for version 0.01 - 2005-03-01

  • original version; created by ExtUtils::ModuleMaker 0.32
  • Got feedback from Usenet:
  • comp.lang.perl.modulesÊ
  • perl.module-authorsÊ
  • Patent::Retrieve Request for Comments
  • wanda_b_a...@yahoo.com Ê I have written a new module and propose to submit it to CPAN. ÊYour comments would be appreciated.
  • Patent::Retrieve is alpha software- my first module, and my intent is to see if the perl community has any interest in the idea.
  • The module provides a consistent way to obtain patent documents from various patent offices that make them available on the web. ÊTypically, doing this is relatively easy by hand, but involves screen-scraping if you want to do it effectively for many pages or doucments. ÊThe offices typically make it hard to get the whole document, presumably because that is one source of revenue.
  • The module uses submodules, specific to patent offices, and comes with working examples for the USPTO and EPO, which between them supply granted patents in html and tiff (USPTO) and pdf (US, EP, and much of the world...).
  • For casual users, this module should simplify life. ÊAbusive users will likely find their IP address banned by the patent office being spidered.
  • I propose a new name space, "Patent", because I see no related modules in another name space; I am happy to take suggestions. ÊI think it is reasonable to have a "Patent" namespace, since patents involve a lot of text-wrangling that is single purpose. ÊFor example, searches of the prior art, patent family relationships, patent applications via XML, etc. ÊWith a namespace, related modules may be grouped easily.
  • Here is the documentation as it now stands:
  • Patent::Retrieve
  • NAME Ê Ê Patent::Retrieve - retrieve a patent page (from United States Patent and Ê Ê Trademark Office (uspto) website or the European Patent Office Ê Ê (espace_ep). )
  • SYNOPSIS Ê Ê Please see the test suite for working examples. The following is not Ê Ê guaranteed to be working or up-to-date.
  • Ê Ê Ê use Patent::Retrieve;
  • Ê Ê Ê my $patent_document = Patent::Retrieve->new(); # new object
  • Ê Ê Ê my $document1 = $patent_document->provide_doc('6,123,456'); Ê Ê Ê Ê Ê Ê # defaults: Ê Ê office Ê=> 'uspto', Ê Ê Ê Ê Ê Ê # Ê Ê Ê Ê Ê Ê Ê country => 'US', Ê Ê Ê Ê Ê Ê # Ê Ê Ê Ê Ê Ê Ê format Ê=> 'htm', Ê Ê Ê Ê Ê Ê # Ê Ê Ê Ê Ê Ê Ê page Ê Ê=> '1', Ê Ê Ê# typically htm IS "1" page Ê Ê Ê Ê Ê Ê # Ê Ê Ê Ê Ê Ê Ê modules => qw/ us ep / ,
  • Ê Ê Ê my $document2 = $patent_document->provide_doc('US_6_123_456', Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê office Ê=> 'espace_ep' , Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê format Ê=> 'tif', Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê page Ê Ê=> 2 , Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê );
  • Ê Ê Ê my $pages_known = $patent_document->pages_available( Ê# e.g. TIFF Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê document=> '6 123 456', Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê );
  • DESCRIPTION Ê Ê Ê Intent: ÊUse public sources to retrieve patent documents such as Ê Ê Ê TIFF images of patent pages, html of patents, pdf, etc. Ê Ê Ê Expandable for your office of interest by writing new submodules.. Ê Ê Ê Alpha release by newbie to find if there is any interest
  • USAGE Ê Ê Ê See also SYNOPSIS above
  • Ê Ê Ê To install the module...
  • Ê Ê perl Makefile.PL
  • Ê Ê make
  • Ê Ê make test
  • Ê Ê make install
  • Ê Ê If you are on a windows box you could try to use 'nmake' rather than Ê Ê 'make'.
  • Ê Ê Examples of use:
  • Ê Ê Ê $patent_document = Patent::Retrieve->new( Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê doc_id Ê=> 'US6,654,321(B2)issued_2_Okada', Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê office Ê=> 'espace_ep' , Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê format Ê=> 'tif', Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê page Ê Ê=> 2 , Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê agent Ê => 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4b) Gecko/20030516 Mozilla Firebird/0.6', Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê );
  • Ê Ê # 'Windows IE 6' => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT Ê Ê 5.1)', # 'Windows Mozilla' => 'Mozilla/5.0 (Windows; U; Windows NT 5.0; Ê Ê en-US; rv:1.4b) Gecko/20030516 Mozilla Firebird/0.6', # 'Mac Safari' => Ê Ê 'Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/85 (KHTML, Ê Ê like Gecko) Safari/85', # 'Mac Mozilla' => 'Mozilla/5.0 (Macintosh; U; Ê Ê PPC Mac OS X Mach-O; en-US; rv:1.4a) Gecko/20030401', # 'Linux Mozilla' Ê Ê => 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624', # Ê Ê 'Linux Konqueror' => 'Mozilla/5.0 (compatible; Konqueror/3; Linux)',
  • Ê Ê Ê my %attributes = $patent_document->get_patent('all'); Ê# hash of all
  • Ê Ê Ê my $document_id = $patent_document->get_patent('doc_id'); Ê Ê Ê Ê Ê Ê # US6,654,321(B2)issued_2_Okada
  • Ê Ê Ê my $office_used = $patent_document->get_patent('office'); # ep
  • Ê Ê Ê my $country_used = $patent_document->get_patent('country'); #US
  • Ê Ê Ê my $doc_id_used = $patent_document->get_patent('doc_id'); Ê#

Modules

retrieve a patent page (e.g. from United States Patent and Trademark Office (USPTO) website or the European Patent Office (ESPACE_EP). )

Provides

in lib/WWW/Patent/Page/ESPACE_EP.pm
in lib/WWW/Patent/Page/USPTO.pm