使用urllib库实现快递单号查询
时间: 2024-06-09 12:06:28 浏览: 184
快递单号查询
可以使用快递100的API接口来实现快递单号查询。具体步骤如下:
1. 导入urllib库和json库:
```python
import urllib.request
import json
```
2. 构造请求URL,其中需要替换`YOUR_APP_KEY`和`YOUR_EXPRESS_NO`为自己的应用密钥和快递单号:
```python
url = 'https://api.kuaidi100.com/openapi/gateway.do?method=express.infoget&appkey=YOUR_APP_KEY&sign=&format=json&v=2.0&com=&num=YOUR_EXPRESS_NO&phone='
```
3. 发送请求并获取响应:
```python
response = urllib.request.urlopen(url)
result = response.read().decode('utf-8')
```
4. 解析JSON格式的响应数据:
```python
data = json.loads(result)
```
5. 输出快递信息:
```python
if data['status'] == '200':
print('快递公司:' + data['data'][0]['com'])
print('快递单号:' + data['data'][0]['nu'])
print('物流信息:')
for item in data['data'][0]['list']:
print(item['time'] + ' ' + item['status'])
else:
print('查询失败,错误信息:' + data['message'])
```
完整代码如下:
```python
import urllib.request
import json
url = 'https://api.kuaidi100.com/openapi/gateway.do?method=express.infoget&appkey=YOUR_APP_KEY&sign=&format=json&v=2.0&com=&num=YOUR_EXPRESS_NO&phone='
response = urllib.request.urlopen(url)
result = response.read().decode('utf-8')
data = json.loads(result)
if data['status'] == '200':
print('快递公司:' + data['data'][0]['com'])
print('快递单号:' + data['data'][0]['nu'])
print('物流信息:')
for item in data['data'][0]['list']:
print(item['time'] + ' ' + item['status'])
else:
print('查询失败,错误信息:' + data['message'])
```
注意:在使用快递100的API接口之前,需要先注册成为开发者并获取应用密钥。
阅读全文