本文整理汇总了Python中rdflib.URIRef.format方法的典型用法代码示例。如果您正苦于以下问题:Python URIRef.format方法的具体用法?Python URIRef.format怎么用?Python URIRef.format使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rdflib.URIRef
的用法示例。
在下文中一共展示了URIRef.format方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: DOI
# 需要导入模块: from rdflib import URIRef [as 别名]
# 或者: from rdflib.URIRef import format [as 别名]
class DOI(DOIMetadata):
"""find and download a pdf for the doi given
>>> DOI('10.1016/0166-218X(92)00170-Q')
"""
headers = generic_headers
headers['Host'] = 'gen.lib.rus.ec'
headers['Referer'] = 'http://gen.lib.rus.ec/scimag/'
url = 'http://gen.lib.rus.ec/scimag/?s={}&journalid=&v=&i=&p=&redirect=1'
def __init__(self, doi, *args, **kwargs):
super().__init__(doi, *args, **kwargs)
self.url = URIRef(self.url.format(self.doi))
r = requests.get(self.url, headers=self.headers)
r.raise_for_status()
self.links = re.compile(r'a href="([^"]+pdf)"').findall(r.text)
link, *links = self.links
r = requests.get(link, stream=True)
self.filename = Literal('.'.join((doi.replace('/','_'), 'pdf')))
with open(self.filename, 'wb') as fd:
for chunk in r.iter_content(1024*10):
fd.write(chunk)
self.path = URIRef(urljoin('file:', pjoin(os.getcwd(), self.filename)))
self.graph.add((self.path, URIRef('http://purl.org/dc/terms/identifier'), self.doi))
self.graph.commit()