Python 使用Mechanize(PubChem)提交表单
我正在为PubChem写一个化学性质刮刀。我对机械化非常陌生,只是一般的编程,所以我被困在如何提交此网站的表单上: br.submit()产生了一个错误(它只是说httperror\u seek\u wrapper),我不确定如何从那里开始。我已尝试针对实际提交的按钮执行以下操作: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)
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”:“甲烷”}}