Python determines whether a website is from a mobile phone or a PC browser
#判断网站来自mobile还是pcdef checkmobile (Request): "" "    DEMO : @app. Route ('/m ') def is_from_mobile (): if checkmobile (Request): return ' Mobile ' Else: return ' PC ' :p aram request: :return: "" " useragent = request.headers[' user-agent '] # Useragent = env.get (' http_user_agent ') _long_matches = r ' Googlebot-mobile|android|avantgo|blackBerry|blazer|elaine|hiptop|ip (Hone|od) |kindle|midp|mmp|mobile|o2|opera mini|palm ( os)? | Pda|plucker|pocket|psp|smartphone|symbian|treo|up\. (Browser|link) |vodafone|wap|windows ce; (IEMOBILE|PPC) |xiino|maemo|fennec ' _ Long_matches = re.compile (_long_matches, re. IGNORECASE) _short_matches = r ' 1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac (er|oo|s\-) |ai (KO|RN) |al (Av|ca|co) |amoi|an (EX|NY|YW) |aptu|ar (Ch|go) |as (te|us) |attw|au (di|\-m|r |s ) |avan|be (CK|LL|NQ) |bi (lb|rd) |bl (Ac|az) |br (e|v) w|bumb|bw\-(n|u) |c55\/|capi|ccwa|cdm\-|cell|chtm| Cldc|cmd\-|co (mp|nd) |craw|da (it|ll|ng) |dbte|dc\-s|devi|dica|dmob|do (c|p) o|ds (12|\-d) |el (49|ai) |em (L2|ul) |er (IC |K0) |esl8|ez ([4-7]0|os|wa|ze) |fetc|fly (\-|_) |g1 u|g560|gene|gf\-5|g\-mo|go (\.w|od) |gr (Ad|un) |HAIE|HCIT|HD \-(m|p|t) |hei\-|hi (Pt|ta) |hp ( I|IP) |hs\-c|ht (c (\-| |_|a|g|p|s|t) |TP) |hu (AW|TC) |i\-(20|go|ma) |i230| IAC ( |\-|\/) |ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja (t|v) a|jbro|jemu|jigs|kddi|keji|kgt ( |\/) |klon|kpt |kwc\-|kyo (c|k) | Le (no|xi) |lg ( g|\/(k|l|u) |50|54|e\-|e\/|\-[a-w]) |libw|lynx|m1\-w|m3ga|m50\/|ma (TE|UI|XO) |MC (01|21|CA) |m\- Cr|me (Di|rc|ri) |mi (o8|oa|ts) |mmef|mo (01|02|bi|de|do|t (\-| |o|v) |zz) |mt (50|p1|v ) |mwbp|mywa|n10[0-2]| N20[2-3]|n30 (0|2) |n50 (0|2|5) |n7 (0 (0|1) |10) |ne ((c|m) \-|on|tf|wf|wg|wt) |nok (6|i) |nzph|o2im|op (TI|WV) |oran|owg1| P800|pan (a|d|t) |PDXG|PG (13|\-([1-8]|c)) |PHIL|PIRE|PL (AY|UC) |pn\-2|po (ck|rt|se) |PROX|PSIO|PT\-G|QA\-A|QC (07|12| 21|32|60|\-[2-7]|i\-) |qtek|r380|r600|raks|rim9|ro (Ve|zo) |s55\/|sa (Ge|ma|mm|ms|ny|va) |sc (01|h\-|oo|p\-) |sdk\/| SE (c (\-|0|1) |47|mc|nd|ri) |sgh\-|shar|sie (\-|m) |SK\-0|SL (45|id) |sm (AL|AR|B3|IT|T5) |so (ft|ny) |sp (01|h\-|v\-|v ) |sy (01|MB) |t2 (18|50) |t6 (00|10|18) |ta (gt|lk) |tcl\-|tdg\-|tel (i|m) |tim\-|t\-mo|to (pl|sh) |ts (70|M\-|M3|M5) |tx\-9|up (\.b|g1|si) |utst|v400|v750|veri|vi (rg|te) |vk (40|5[0-3]|\-v) |VM40|VODA|VULC|VX (52|53|60|61|70|80|81|83 |85|98) |w3c (\-| ) |webc|whit|wi (G |NC|NW) |wmlb|wonu|x700|xda (\-|2|g) |yas\-|your|zeto|zte\-' _ Short_matches = re.compile (_short_matches, re. IGNORECASE) if _long_matches.search (useragent) != None: return true user_agent = useragent[ 0:4] if _short_matches.search (user_agent) != None: return true return false
Python determines whether a website is from a mobile phone or a PC browser