Python 使用Mechanize(PubChem)提交表单

Python 使用Mechanize(PubChem)提交表单,python,mechanize,Python,Mechanize,我正在为PubChem写一个化学性质刮刀。我对机械化非常陌生,只是一般的编程,所以我被困在如何提交此网站的表单上: br.submit()产生了一个错误(它只是说httperror\u seek\u wrapper),我不确定如何从那里开始。我已尝试针对实际提交的按钮执行以下操作: def pubchem(): br = Browser() br.open("https://pubchem.ncbi.nlm.nih.gov/") br.select_form(nr=0)

我正在为PubChem写一个化学性质刮刀。我对机械化非常陌生,只是一般的编程,所以我被困在如何提交此网站的表单上:

br.submit()产生了一个错误(它只是说httperror\u seek\u wrapper),我不确定如何从那里开始。我已尝试针对实际提交的按钮执行以下操作:

 def pubchem():
    br = Browser()
    br.open("https://pubchem.ncbi.nlm.nih.gov/")
    br.select_form(nr=0)
    form = br.form
    form['term'] = "74-82-8"
    form.click(id='go')
但这似乎也不起作用。我希望能在哪里找到答案或提交此表格的其他方法上得到一些帮助


我会非常感谢你的帮助

您可以通过PubChem的服务获取数据

一个简单的例子:

import urllib2
import json

def get(url):
    req = urllib2.Request(url)
    response=urllib2.urlopen(req)
    return response.read()

pugrest = 'http://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/name/'
cmpd = 'methane'
prop ='/property/MolecularFormula,MolecularWeight,CanonicalSMILES,InChI,IUPACNam/JSON'

data = get(pugrest+cmpd+prop)
print data
这将为您提供以下json:

{“PropertyTable”:{“Properties”:[{“CID”:297,“分子式”:“CH4”,“分子量”:16.04246,“规范微笑”:“C”,“InChI”:“InChI=1S/CH4/h1H4”,“IUPACName”:“甲烷”}}