我正在尝试编写一个程序,该程序在this webpage上针对 IUPACcondensed 进行报废。
此处G03307GF
是 ID 。我需要这个:
HexNAc(b1-?)[Fuc(a1-?)]GlcNAc(b1-2)Man(a1-3)[HexNAc(b1-?)[Fuc(a1-?)]GlcNAc(b1-2)Man(a1-6)]Man(b1-4)GlcNAc(b1-4)[Fuc(a1-6)]GlcNAc
我尝试为此使用硒。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless')
driver = webdriver.Chrome('', options = chrome_options)
# takes accession number and returns IUPAC
def getIUPAC(acc_no):
url = 'https://glytoucan.org/Structures/Glycans/' + acc_no
driver.get(url)
IUPAC = driver.find_element_by_xpath('//*[@id="descriptors"]/togostanza-iupaccondensed//main/div/pre/code/text()')
driver.close()
return IUPAC
IUPAC = getIUPAC('G37498VS')
print(IUPAC)
它说该元素不存在。
答案 0 :(得分:2)
import re
import requests
def getIUPAC(acc_no):
ret = requests.get('https://glytoucan.org/Structures/Glycans/{}'.format(acc_no))
z = re.search('<meta name="description".*?The IUPAC representation is (.+)\.\s+The', ret.content, re.DOTALL | re.MULTILINE)
return z if z else 'Unknown'
print('IUPAC is {}'.format(getIUPAC('G03307GF')))
我们的结果是...
IUPAC is HexNAc(b1-?)[Fuc(a1-?)]GlcNAc(b1-2)Man(a1-3)[HexNAc(b1-?)[Fuc(a1-?)]GlcNAc(b1-2)Man(a1-6)]Man(b1-4)GlcNAc(b1-4)[Fuc(a1-6)]GlcNAc
答案 1 :(得分:0)
更好的使用请求,如VeNoMouS所示。只是想补充一下,您得到element does not exist
是因为在打印驱动程序之前它已关闭。