你的judge_pc_or_mobile函数使用正则表达式检查用户代理字符串,以确定访问来源是否是手机端。如果你希望通过该函数来判断是手机端、平板还是电脑端,可以稍作修改。以下是一种修改的方式:
import re
def judge_device_type(ua):
"""
判断访问来源是手机端、平板还是电脑端
:param ua: 访问来源头信息中的User-Agent字段内容
:return: 'pc'表示电脑端,'tablet'表示平板,'mobile'表示手机端
"""
ua_lower = ua.lower()
# 判断是否为电脑端
if 'windows' in ua_lower or 'macintosh' in ua_lower or 'linux' in ua_lower:
return 'pc'
# 判断是否为平板
if 'ipad' in ua_lower or 'android' in ua_lower and 'mobile' not in ua_lower:
return 'tablet'
# 默认为手机端
return 'mobile'
这个修改后的函数 judge_device_type 返回一个字符串,表示设备类型。你可以调用这个函数,传递用户代理字符串作为参数,得到设备类型,如下所示:
ua = request.user_agent.string
device_type = judge_device_type(ua)
print(f'This request is from: {device_type}')
—— 本文来自火龙信奥(义乌睿码科技):义乌青少年信息学奥赛与编程教育平台,专注 CSP-J/S、NOIP、GESP 竞赛培训,线上线下融合教学,助力编程升学。网址:hlcoding.com