from lxml import etree
import requests
import pandas as pd
def getDCDataMMS(mms_id):
cont=requests.get('https://obv-at-oenb.alma.exlibrisgroup.com/view/sru/43ACC_ONB?version=1.2&query=alma.mms_id='
+ mms_id + '&startRecord=0&maximumRecords=1&operation=searchRetrieve&recordSchema=dc').content
e = etree.XML(cont)
namespaces = {
'srw': 'http://www.loc.gov/zing/srw/',
'srw_dc': 'info:srw/schema/1/dc-schema',
'dc': 'http://purl.org/dc/elements/1.1/'
}
xpath = '/srw:searchRetrieveResponse/srw:records/srw:record/srw:recordData/srw_dc:dc/dc:{}/text()'
titleResult = e.xpath(xpath.format('title'), namespaces=namespaces)
title = "; ".join(titleResult) if titleResult else ''
contributorResult = e.xpath(xpath.format('contributor'), namespaces=namespaces)
contributor = "; ".join(contributorResult) if contributorResult else ''
dateResult = e.xpath(xpath.format('date'), namespaces=namespaces)
date = "; ".join(dateResult) if dateResult else ''
return [title, contributor, date]
getDCDataMMS(str(990048102650603338))