flask查询工具

fist_index.html

python 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>电话查询工具</title>
</head>
<body>
    <table>
        <form action="/search_phone" method="get">
                手机号码:<input type="text" id="phone" value="phone" name="phone2">
                <input type="submit" id="search" value="查询" name="search">
         </form>
    </table>
</body>
</html>

searchPhone.py

python 复制代码
import requests
from flask import Flask,render_template,request
from lxml import etree#解析数据模块

def get_phone(phone):
    url = f'https://www.ip138.com/mobile.asp?mobile={phone}&action=mobile'
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'

        }  # 伪装浏览器访问,防止网站拒绝访问
    res = requests.get(url, headers=headers)
    res.encoding = 'utf-8'  # 有乱码,显示中文
    # print(res.text)
    # 解析数据
    e = etree.HTML(res.text)
    # 通过xpath拿取数据
    data = e.xpath('//tr/td[2]/a/text()')
    print(data)
    return data


get_phone(13811701936)

##前台页面展示接口
app=Flask(__name__)
@app.route('/index')
def index():
    #return '测试页面展示hahh'
    return render_template('fist_index.html')
@app.route('/search_phone')
def search_phone():
    #return "search_phone接口"
    phone3=request.args.get('phone2')#这里的phone2要和fist_index.html页面里的 手机号码<input 标签里的neme值一致
    data=get_phone(phone3)
    #return phone3
    #return data #原始data是个列表,有时候浏览器不能直接展示列表,会报错
    return '<br/>'.join(data)#原始data是个列表,有时候浏览器不能直接展示列表,会报错

app.run(debug=True)

展示:

13811701935

测吉凶(

)

中国移动

010

101100

相关推荐
站大爷IP3 分钟前
Python文件/目录比较实战:排除特定类型的实用技巧
python
炸薯人11 分钟前
每天一个知识点——Java注解
后端
Yn31219 分钟前
如何安装 scikit-learn Python 库
python·机器学习·scikit-learn
用户40993225021221 分钟前
如何在 FastAPI 中玩转 APScheduler,让任务定时自动执行?
后端·github·trae
他日若遂凌云志21 分钟前
深入剖析 Fantasy 框架的网络数据包解析机制:从抽象基类到多协议适配
后端
AAA修煤气灶刘哥23 分钟前
Lombok坑哭了!若依框架一行@Data炸出Param为null,我卡了一下午才发现BaseEntity的猫腻
java·后端
芥末章宇28 分钟前
Jetson NX Python环境搭建:使用APT轻松安装NumPy, scikit-learn, OpenCV
python·numpy·scikit-learn
SimonKing1 小时前
手搓MCP客户端动态调用多MCP服务,调用哪个你说了算!
java·后端·程序员
写bug写bug1 小时前
分布式锁的使用场景和常见实现(上)
分布式·后端·面试
Ali酱1 小时前
2周斩获远程offer!我的高效求职秘诀全公开
前端·后端·面试