python - 使用 Mechanize 和 python 处理 USPTO 网站

标签 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.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。
  • 程序的最后一个结尾,当它说 for form in 时,我收到了一些警告。
  • 最后,我想在“搜索词”中输入一些搜索文本,我假设这是一个表单!但无法访问它。然后提交。接下来是跟进之后显示的表格。
  • 最佳答案

    好;

  • 将您的 http 变量设置为一个变量,以将其作为 newurl = oldurl + link.url 传入你总是可以在开始时做 br.open(oldurl + "w/e goes here")
  • for i in response1.forms(): print "Form name:", i.name
  • 需要选择表单,发送文本,然后点击提交.. 这里有一些提示:
    for form in br.forms():
       if form.attrs['id'] == 'search':
       br.form = form
       break
    br["search"] = "text_search"
    br.submit()
    
  • 关于python - 使用 Mechanize 和 python 处理 USPTO 网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31036103/

    相关文章:

    python - harcascadePath = cv2.data.haarcascades + 'haarcascade_frontalface_default.xml'

    python - 使用 MacPorts 安装后找不到 virtualenv 命令

    javascript - 使用 perl 登录 https 站点

    python - 如何写入 Python 子进程的标准输入?

    python - PyLint "Unable to import"错误 - 如何设置 PYTHONPATH?

    python - 如何创建键: column_name and value : unique values in column in python from a dataframe的字典

    perl - 尝试使用 perl 登录网站时出现问题

    python - 如何使用 Python 自动填写在线表单中的文本区域?

    python - 在 python 中使用 Mechanize

    ruby - 使用 Ruby WWW::Mechanize 时忽略 Iconv::IllegalSequence