前端增加人工互联网搜索功能
- 新增互联网搜索面板,支持手动输入关键词搜索 - 搜索结果展示为卡片形式,显示标题和链接 - 支持抓取单个结果的详细内容 - 可一键保存搜索结果到内容库 - 新增搜索 API 端点:/api/articles/internet-search - 搜索结果详情模态框展示 - 响应式设计,搜索结果自适应布局
This commit is contained in:
+57
-1
@@ -132,4 +132,60 @@ def fetch_article():
|
||||
'data': result
|
||||
})
|
||||
else:
|
||||
return jsonify({'error': '抓取失败'}), 500
|
||||
return jsonify({'error': '抓取失败'}), 500
|
||||
|
||||
@bp.route('/internet-search', methods=['POST'])
|
||||
def internet_search():
|
||||
"""互联网搜索(浏览器方式)"""
|
||||
data = request.get_json()
|
||||
keyword = data.get('keyword', '')
|
||||
max_results = data.get('max_results', 10)
|
||||
save_to_library = data.get('save_to_library', False)
|
||||
|
||||
if not keyword:
|
||||
return jsonify({'error': '请提供搜索关键词'}), 400
|
||||
|
||||
# 执行互联网搜索
|
||||
results = search_service.search_internet(keyword, max_results)
|
||||
|
||||
return jsonify({
|
||||
'success': True,
|
||||
'keyword': keyword,
|
||||
'results': results,
|
||||
'count': len(results)
|
||||
})
|
||||
|
||||
@bp.route('/internet-search-and-fetch', methods=['POST'])
|
||||
def internet_search_and_fetch():
|
||||
"""互联网搜索并抓取内容"""
|
||||
data = request.get_json()
|
||||
keyword = data.get('keyword', '')
|
||||
max_results = data.get('max_results', 5)
|
||||
category = data.get('category')
|
||||
|
||||
if not keyword:
|
||||
return jsonify({'error': '请提供搜索关键词'}), 400
|
||||
|
||||
# 执行互联网搜索
|
||||
results = search_service.search_internet(keyword, max_results)
|
||||
|
||||
# 抓取每个结果的详细内容
|
||||
fetched_results = []
|
||||
for r in results:
|
||||
url = r.get('url')
|
||||
if url:
|
||||
content = search_service.fetch_url_content(url)
|
||||
if content:
|
||||
fetched_results.append({
|
||||
'title': r['title'],
|
||||
'url': url,
|
||||
'source': r['source'],
|
||||
'fetched_content': content
|
||||
})
|
||||
|
||||
return jsonify({
|
||||
'success': True,
|
||||
'keyword': keyword,
|
||||
'results': fetched_results,
|
||||
'count': len(fetched_results)
|
||||
})
|
||||
Reference in New Issue
Block a user