使用Mechanize和python处理USPTO网站

使用Mechanize和python处理USPTO网站,python,mechanize,Python,Mechanize,我只想简单地处理一个简单的模式USPTO商标网站 #!/usr/bin/python import mechanize import cookielib br=mechanize.Browser() cg = cookielib.LWPCookieJar() br.set_cookiejar(cg); #br.set_all_readonly(False) br.set_handle_robots(False) br.set_handle_refresh(False) br.addheade

我只想简单地处理一个简单的模式USPTO商标网站

#!/usr/bin/python

import mechanize
import cookielib
br=mechanize.Browser()
cg = cookielib.LWPCookieJar()
br.set_cookiejar(cg);

#br.set_all_readonly(False)
br.set_handle_robots(False)
br.set_handle_refresh(False)
br.addheaders=[('User-agent', 'Firefox')]

response=br.open("http://uspto.gov/trademarks-application-process/search-trademark-database")

tess = 'TESS'
start_search = 'Basic Word Mark Search (New User)'

assert br.viewing_html()
print br.title()

for l in br.links(url_regex='tmsearch'):
        if l.text == tess:
                print l.url;
                break

br.follow_link(l)
newlink=br.geturl()
print newlink

br.open(newlink)
for link in br.links():
        if link.text == start_search:
                print "Found Basic Search"
                print link.text
                print link.url
                break;
**#Why do we need the contactination. Witoug this it doesn't generate a full URL**

newurl="http://tmsearch.uspto.gov" + link.url
print newurl
response1 = br.open(newurl);

print response1.read()

#for form in br.forms():
        #print "Form Name" form.name
两个问题

  • 如果不手动连接前缀,我不会在这一步中获得完整的url
  • 在程序的最后一段,我得到了一些警告,当它在其中显示form时
  • 最后,我想在“搜索词”中输入一些搜索文本,我假设这是一个表单!,但却无法做到这一点。然后提交。下一步是跟踪之后显示的表
  • 嗯,

  • 将您的http变量设置为一个变量,只需将其作为
    newurl=oldurl+link.url
    传入即可,您始终可以在开始时执行此操作
    br.open(oldurl+“w/e转到此处”)

  • 响应1.forms()中的i的
    
    打印“表单名称:”,i.name

  • 需要选择表单,发送文本,然后单击提交。。以下是一些提示:

    for form in br.forms():
       if form.attrs['id'] == 'search':
       br.form = form
       break
    br["search"] = "text_search"
    br.submit()
    
  • 嗯,

  • 将您的http变量设置为一个变量,只需将其作为
    newurl=oldurl+link.url
    传入即可,您始终可以在开始时执行此操作
    br.open(oldurl+“w/e转到此处”)

  • 响应1.forms()中的i的
    
    打印“表单名称:”,i.name

  • 需要选择表单,发送文本,然后单击提交。。以下是一些提示:

    for form in br.forms():
       if form.attrs['id'] == 'search':
       br.form = form
       break
    br["search"] = "text_search"
    br.submit()