我正在为PubChem写一个化学性质刮刀。我是机械化的新手,而且只是一般的编程,所以我不知道如何提交这个网站的表格:https://pubchem.ncbi.nlm.nih.gov/。
br.submit()产生错误(它只是说httperror_seek_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')
但这似乎也不起作用。我希望在哪里寻找答案,或者提交此表单的替代方法方面有所帮助。
我会非常感激任何帮助。
答案 0 :(得分:0)
您可以使用他们的服务PUG REST
从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,“MolecularFormula”:“CH4”,“MolecularWeight”:16.04246,“CanonicalSMILES”:“C”,“InChI”:“InChI = 1S / CH4 / h1H4“,”IUPACName“:”甲烷“}]}}