python项目实战 查询手机号码归属地源码

get_mobile_from.py

python 复制代码
# 引入框架
import requests
from lxml import etree
from flask import Flask, render_template, request

# 创建一个app
app = Flask(__name__)


def get_phone_from(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/130.0.0.0 Safari/537.36 Edg/130.0.0.0"
    }

    # 发送请求
    resp = requests.get(url, headers=headers)

    # 设置字符集 中文显示
    resp.encoding = "utf-8"
    # 解析响应
    # print(resp.text)

    # 解析数据
    e = etree.HTML(resp.text)
    # xpath

    result = e.xpath("//tbody//tr//a[1]/text()")

    return result


# 主页
@app.route("/index")
def index():
    return render_template("/index.html")


# 定义路由地址
@app.route("/getPhoneFrom")
def getPhoneFrom():
    phone = request.args.get("phone")
    result = get_phone_from(phone)
    return render_template("index.html", result=result)


# 启动web服务
app.run(debug=True)

index.html

html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <form action="/getPhoneFrom" method="get">
        手机号:<input type="text" name="phone" id="">
        <input type="submit" value="查询">
    </form>
    <table border="">
        <tr>
            <td>手机号:</td>
            <td>{{result[0]}}</td>

        </tr>
        <tr>
            <td>归属地:</td>
            <td>{{result[1]}}</td>
        </tr>
        <tr>
            <td>运营商:</td>
            <td>{{result[2]}}</td>
        </tr>
        <tr>
            <td>区号:</td>
            <td>{{result[3]}}</td>
        </tr>
        <tr>
            <td>邮编:</td>
            <td>{{result[4]}}</td>
        </tr>
    </table>
</body>

</html>
相关推荐
一晌小贪欢23 分钟前
Python键盘鼠标自动化库详解:从入门到精通
python·自动化·计算机外设·python鼠标·python键盘·python操控鼠标·python操控键盘
不说别的就是很菜30 分钟前
【前端面试】HTML篇
前端·html
穿西装的水獭35 分钟前
python将Excel数据写进图片中
开发语言·python·excel
前端一小卒39 分钟前
生产环境Sourcemap策略:从苹果事故看前端构建安全架构设计
前端·javascript
老友@1 小时前
Java Excel 导出:EasyExcel 使用详解
java·开发语言·excel·easyexcel·excel导出
im_AMBER1 小时前
React 18
前端·javascript·笔记·学习·react.js·前端框架
老前端的功夫1 小时前
Vue2中key的深度解析:Diff算法的性能优化之道
前端·javascript·vue.js·算法·性能优化
xiaoxiongip6661 小时前
假设两个设备在不同网段,网关怎么设置才能通呢
网络·爬虫·python·https·智能路由器
逻极1 小时前
Scikit-learn 实战:15 分钟构建生产级中国房价预测模型
python·机器学习·scikit-learn
行板Andante1 小时前
AttributeError: ‘super‘ object has no attribute ‘sklearn_tags‘解决
人工智能·python·sklearn