我必须在URL http://api.semanticscholar.org/v1/paper/
的末尾连接论文“ 10.1145 / 3175684.3175695”的DOI。但是当我尝试执行此操作时,python会连接除法的结果。有没有办法告诉python不要将/
中间的10.1145/3175684.3175695
符号当作除法运算符。
id = 10.1145/3175684.3175695
url = '{}{}'.format("http://api.semanticscholar.org/v1/paper/",id)
# Make a get request with the parameters.
response = requests.get(url)
print(response.content)
答案 0 :(得分:4)
该问题是由于您没有将DOI号包装在引号中以使其成为字符串而引起的。您会注意到,基本URL是一个字符串,其中包含正斜杠,但是没有相同的问题。
您具有以下条件:
doi = 10.1145/3175684.3175695
哪个python解释为这样的数学表达式:
doi = 10.1145 / 3175684.3175695
您需要将其用单引号(或双引号)引起来,以使其成为字符串文字:
doi = '10.1145/3175684.3175695'
base_url = 'http://api.semanticscholar.org/v1/paper/'
url = base_url + doi
答案 1 :(得分:2)
s = "http://api.semanticscholar.org/v1/paper/"
v = "10.1145/3175684.3175695"
t = s+v
t
将导致
'http://api.semanticscholar.org/v1/paper/10.1145/3175684.3175695'