要编写一个用于查询网站TDK(Title、Description、Keywords)的API接口,你可以使用Python和Flask框架来实现。以下是一个简单的示例代码: 1. 安装依赖 首先,你需要安……
要编写一个用于查询网站TDK(Title、Description、Keywords)的API接口,你可以使用Python和Flask框架来实现。以下是一个简单的示例代码:
1. 安装依赖
首先,你需要安装Flask和requests库。你可以使用以下命令来安装它们:
pip install Flask requests
2. 编写API接口
from flask import Flask, request, jsonify import requests from bs4 import BeautifulSoup app = Flask(__name__) def get_tdk(url): try: response = requests.get(url) response.raise_for_status() soup = BeautifulSoup(response.text, 'html.parser') title = soup.title.string if soup.title else None description = soup.find('meta', attrs={'name': 'description'}) description = description['content'] if description else None keywords = soup.find('meta', attrs={'name': 'keywords'}) keywords = keywords['content'] if keywords else None return { 'title': title, 'description': description, 'keywords': keywords } except Exception as e: return {'error': str(e)} @app.route('/tdk', methods=['GET']) def tdk(): url = request.args.get('url') if not url: return jsonify({'error': 'URL parameter is required'}), 400 tdk_data = get_tdk(url) return jsonify(tdk_data) if __name__ == '__main__': app.run(debug=True)
3. 运行API
将上述代码保存为一个Python文件(例如app.py),然后在终端中运行:
python app.py
4. 使用API
你可以通过发送GET请求来查询网站的TDK信息。例如:
http://127.0.0.1:5000/tdk?url=https://example.com
5. 响应示例
如果查询成功,API将返回一个JSON对象,包含网站的Title、Description和Keywords:
{ "title": "Example Domain", "description": "This is an example domain.", "keywords": "example, domain" }
如果查询失败,API将返回一个错误信息:
{ "error": "Invalid URL or unable to fetch the page." }
6. 部署
你可以将这个API部署到任何支持Python的服务器上,例如Heroku、AWS、GCP等。
1)注意事项URL验证:在实际应用中,你可能需要对输入的URL进行验证,确保它是一个有效的URL。
2)错误处理:代码中已经包含了一些基本的错误处理,但你可能需要根据实际需求进一步扩展。
3)性能优化:如果查询的网站较大或响应较慢,你可能需要考虑异步处理或设置超时。
还没有评论呢,快来抢沙发~