要編寫一個用于查詢網(wǎng)站TDK(Title、Description、Keywords)的API接口,你可以使用Python和Flask框架來實現(xiàn)。以下是一個簡單的示例代碼:
首先,你需要安裝Flask和requests庫。你可以使用以下命令來安裝它們:
pip install Flask requests
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)
將上述代碼保存為一個Python文件(例如app.py),然后在終端中運行:
python app.py
你可以通過發(fā)送GET請求來查詢網(wǎng)站的TDK信息。例如:
http://127.0.0.1:5000/tdk?url=https://example.com
如果查詢成功,API將返回一個JSON對象,包含網(wǎng)站的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." }
你可以將這個API部署到任何支持Python的服務(wù)器上,例如Heroku、AWS、GCP等。
2)錯誤處理:代碼中已經(jīng)包含了一些基本的錯誤處理,但你可能需要根據(jù)實際需求進(jìn)一步擴展。
3)性能優(yōu)化:如果查詢的網(wǎng)站較大或響應(yīng)較慢,你可能需要考慮異步處理或設(shè)置超時。