在Python中调用网站接口通常有以下几种方式:
1. 使用标准库 `urllib`:
```python
from urllib import request, parse
import json
url = 'http://api.example.com/data'
data = {'key': 'value'}
tmpData = parse.urlencode(data)
tmpUrl = url + '?' + tmpData
response = request.urlopen(tmpUrl)
print(response.read().decode('utf-8'))
2. 使用第三方库 `requests`:
```python
import requests
url = 'https://api.example.com/data'
params = {'key': 'value'}
response = requests.get(url, params=params)
if response.status_code == 200:
data = response.json()
print(data)
else:
print('Error:', response.status_code)
3. 使用Web框架,如 `Django` 或 `Flask`:
```python
例如在Flask中
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/api', methods=['GET'])
def api():
key = request.args.get('key')
return jsonify({'key': key})
if __name__ == '__main__':
app.run()
4. 使用命令行工具 `curl`,通过 `subprocess` 模块调用:
```python
import subprocess
url = 'https://api.example.com/data'
params = {'key': 'value'}
response = subprocess.run(['curl', '-G', url, '--data', 'key=value'], capture_output=True, text=True)
print(response.stdout)
请根据您的具体需求选择合适的方法。