Python新手求问,如何实现输入信息后查询并下载相关信息表格

#各位大神,新手求问: 如何实现自动向页面( http://www.tenaa.com.cn/(S(afgw452nqckqnyagacjdsd55))/WSFW/LicenceQ.aspx)中, 进网证号分别输入 XX、XXXX、XXXXXX ( XX-XXXX-XXXXXX )后自动点击查询, 再次点击查询后页面中“进网证号”字段下进网证号链接, 再在打开的详情页面中抓取固定表格内的信息? https://i.loli.net/2019/06/13/5d02127b8a95d84050.jpg


Python新手求问,如何实现输入信息后查询并下载相关信息表格

6 回复

用 selenium 啊


看到你的问题,我理解你想做一个能根据输入信息查询并下载表格的程序。这里给你一个完整的示例,用pandas和Flask实现一个简单的Web应用。

import pandas as pd
from flask import Flask, request, send_file, render_template_string
import os

app = Flask(__name__)

# 模拟数据 - 实际中这里可以连接数据库
data = pd.DataFrame({
    '姓名': ['张三', '李四', '王五', '赵六'],
    '工号': ['001', '002', '003', '004'],
    '部门': ['技术部', '市场部', '人事部', '财务部'],
    '薪资': [15000, 12000, 10000, 13000]
})

HTML_TEMPLATE = '''
<!DOCTYPE html>
<html>
<head>
    <title>信息查询系统</title>
</head>
<body>
    <h2>员工信息查询</h2>
    <form method="POST">
        <label>输入查询条件(姓名或工号):</label>
        <input type="text" name="query" required>
        <button type="submit">查询并下载</button>
    </form>
    {% if result %}
        <h3>查询结果:</h3>
        <pre>{{ result }}</pre>
    {% endif %}
</body>
</html>
'''

@app.route('/', methods=['GET', 'POST'])
def query_and_download():
    if request.method == 'POST':
        query = request.form['query']
        
        # 查询逻辑
        if query.isdigit():  # 如果是数字,按工号查询
            result = data[data['工号'] == query]
        else:  # 否则按姓名查询
            result = data[data['姓名'] == query]
        
        if not result.empty:
            # 保存为Excel文件
            filename = f'查询结果_{query}.xlsx'
            result.to_excel(filename, index=False)
            
            # 返回文件下载
            return send_file(
                filename,
                as_attachment=True,
                download_name=filename,
                mimetype='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
            )
        else:
            return render_template_string(HTML_TEMPLATE, result="未找到匹配的记录")
    
    return render_template_string(HTML_TEMPLATE, result=None)

if __name__ == '__main__':
    app.run(debug=True)

这个程序做了几件事:1)用pandas创建模拟数据;2)用Flask搭建Web界面;3)根据输入查询数据;4)将结果保存为Excel并提供下载。

运行后访问 http://localhost:5000 就能看到查询页面。输入姓名或工号,点击按钮就会下载对应的Excel文件。

核心思路就是:接收输入→查询数据→导出文件→提供下载。

要扩展的话,你可以把模拟数据换成真实的数据库连接,或者增加更多查询条件。

关键字 [selenium]

selenium +1

感谢楼上三位

回到顶部