我对 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
有两个部分来描述这个问题:
- 我运行正则表达式并尝试查找匹配项,但结果变量 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
还有一件事:如果重要的话,我会在 Win7 64 位上使用 Python 2.7.5...