使用Flask构建Web网页搜索工具

想要快速搭建一个网页搜索工具吗?本文将教你如何使用Python的Flask框架创建一个简单的网页应用,该应用可以抓取百度搜索结果并展示在页面上。

**代码示例:**pythonfrom flask import Flask, render_template, requestfrom bs4 import BeautifulSoupimport requestsimport timeimport webbrowser

app = Flask(name)

def crawl_baidu(keyword): headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' } url = f'https://www.baidu.com/s?wd={keyword}' time.sleep(2) # 添加延迟,避免被识别为爬虫 response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text, 'html.parser')

results = []    for result in soup.find_all('div', class_='result'):        result_url = result.find('a')['href']        results.append(result_url)

return results

@app.route('/', methods=['GET', 'POST'])def index(): if request.method == 'POST': keyword = request.form['keyword'] search_results = crawl_baidu(keyword) return render_template('results.html', keyword=keyword, search_results=search_results) return render_template('index.html')

@app.route('/open_url', methods=['POST'])def open_url(): url = request.form['url'] if url: webbrowser.open(url) return ''

if name == 'main': app.run()

代码解析:

  1. 导入必要的库: 包括Flask, BeautifulSoup, requests等。2. 定义crawl_baidu函数: 该函数接收一个关键词作为参数,模拟浏览器向百度发送请求,解析HTML页面提取搜索结果链接,并返回一个列表。3. 创建Flask应用: 使用app = Flask(__name__)实例化Flask应用。4. 定义路由和视图函数: * index函数处理主页请求,根据请求方式(GET/POST)返回不同的页面。 * open_url函数处理异步请求,用于在新的浏览器窗口打开搜索结果链接。5. 运行应用: 使用app.run()启动Flask应用。

使用说明:

  1. 确保已安装Python和必要的库 (Flask, BeautifulSoup, requests)。2. 创建两个HTML模板文件 index.htmlresults.html, 用于渲染搜索界面和结果。3. 运行代码,并在浏览器中访问 http://127.0.0.1:5000/ 开始使用。

注意:

  • 本代码仅供学习和参考,请勿用于商业用途。* 在实际应用中,需要考虑更多因素,例如错误处理、反爬虫机制、搜索结果分页等。

希望这篇文章能够帮助你了解如何使用Flask构建一个简单的网页搜索工具。

使用Flask构建Web网页搜索工具

原文地址: https://www.cveoy.top/t/topic/pUA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录