urllib2/beautifulSoup に問題があります。私はウェブから私たちの特許に関する情報を読み込もうとしています. 正確には、申請がいつ提出されたかに関する情報を取得する必要があります。この情報は次の文にあります。
この出願は、米国暫定出願の優先権を主張します。サー。2003年10月29日に出願された米国特許第60/515,559号に開示されており、その開示全体は参照により本明細書に具体的に組み込まれる。
この文は特定のタグの一部ではないので、HTML全体で正規表現を使用するのが良いかもしれないと思ったので(他の方法をいくつか試しましたが、うまくいきませんでした)、そのようなものを書きました(すでにBeautifullSoupを使用して他の情報を取得しています):
url = "http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&r=1&f=G&l=50&s1=7442851.PN.&OS=PN/7442851&RS=PN/7442851"
request = urllib2.Request(url, headers={'User-Agent' : "Magic Browser"})
patent_data = bs(urllib2.urlopen(request).read())
#1
r = re.compile("[A-Z][a-z]{2}\. \d+, \d\d\d\d")
txt = r.findall(str(patent_data))
print txt
#2
print patent_data
問題を説明する 2 つの部分があります。
- 正規表現を実行して一致を見つけようとしましたが、結果の変数 txt は空のリストです...
- HTML全体を単純に印刷しようとすると、結果が完全ではないことがわかります(で終わります
(...)<center><b>Other References</b></center> <tr><td></td></tr></br></table></hr></hr></p></hr>
)。
ダウンロードできるデータ量に制限はありますか? どうすればそれを克服できますか?
[clj への回答] 私は自分でプロキシを使用していませんが、インターネット プロバイダーに何かがあるかどうかはわかりません... コードと情報については、次の結果が得られます。
print "info: ", r.info();
print "code: ", r.getcode()
output:
info: Server: NetAnswer Server 1.0
Content-Type: text/html
code: 200
もう1つ:問題があれば、Win7 64ビットでPython 2.7.5を使用しています...