GVKun编程网logo

如何使用userAgent检测移动设备(user agent 检测)

16

如果您想了解如何使用userAgent检测移动设备和useragent检测的知识,那么本篇文章将是您的不二之选。我们将深入剖析如何使用userAgent检测移动设备的各个方面,并为您解答userage

如果您想了解如何使用userAgent检测移动设备user agent 检测的知识,那么本篇文章将是您的不二之选。我们将深入剖析如何使用userAgent检测移动设备的各个方面,并为您解答user agent 检测的疑在这篇文章中,我们将为您介绍如何使用userAgent检测移动设备的相关知识,同时也会详细的解释user agent 检测的运用方法,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

如何使用userAgent检测移动设备(user agent 检测)

如何使用userAgent检测移动设备(user agent 检测)

谁能帮我这个。

我想检测Iphone,BB,andriod等设备以及浏览器,以应用其特定的CSS使其液化或调整其分辨率。

在移动浏览器上,andriod和Iphone是否存在分辨率差异问题或CSS问题,因为我计划为这2个用户使用相同的CSS,因为我知道它们默认使用相同的浏览器浏览器。

答案1

小编典典

尝试使用并检查isMobileDevice字段。当然,只有browscap.ini在php.ini中设置了路径时,它才可能有所帮助。如果没有,您可以使用类似phpbrowscap的php类

Adsense 毁了移动设备的 Pagespeed 得分,移动设备 50,桌面设备 98

Adsense 毁了移动设备的 Pagespeed 得分,移动设备 50,桌面设备 98

Adsense 是加载第三方代码的第三方网络,您无法控制他们的资源。 Adsense 广告脚本、图像和 css 文件优化不佳。 您可以做的是考虑延迟加载广告。或者接受它。

android – 检测移动设备的屏幕键盘上是否有密钥

android – 检测移动设备的屏幕键盘上是否有密钥

我正在为我们的网站添加一些移动可用性优化.作为其中的一部分,我正在调整textfields的type属性,以便为用户提供预期数据类型的最佳输入工具.

我在触摸屏移动设备中遇到的一个问题是,当使用输入类型=“数字”时,不同操作系统上的浏览器,甚至同一操作系统上的不同浏览器,显示不同的屏幕键盘.

iOS 4.3.3(iPhone 4)上的Safari和Android 2.3.4上的Chrome包含一个小数点,但Android 2.3.4上的Firefox没有.

我尝试添加步骤属性(step =“0.1”),但在Firefox中没有任何改进.

如果我无法显示小数点,我将需要向Firefox展示完整的QWERTY键盘,这显然不会带来最佳的用户体验.它还引发了浏览器/设备嗅探的问题.我需要将QWERTY设置为默认值,并将numberpad显示给我可以实际测试的少数几个设备,或者将numberpad设为默认设置,然后切换回QWERTY设备,我知道这将打破,后一个选项因为我不能测试每一台有史以来的设备,所以不那么健壮.

测试对输入类型=“数字”的支持不是一个修复,因为显然浏览器支持该元素,它只是没有提供足够的键盘选项来输入所有数字类型.

那么..我想知道是否有人知道一种方法来测试键盘中某个键的存在(例如小数点)浏览器/操作系统分配给输入类型,和/或是否有其他人有更好的建议,因为我对移动设备很新.

我还应该提一下,我在这里使用JavaScript,因为这是一个网站,而不是本机应用程序.

谢谢 :)

解决方法

不幸的是,firefox不支持数字输入类型.但是,您仍然可以尝试使用这些额外的HTML属性来使输入字段提示用户输入数字
inputmode='numeric' 
pattern='[0-9]*'  //this makes it show only the numbers 0-9 without all the slashes and dashes and everything. Ignore this if that's not what you want

file_get_contents伪造user_agent curl设置useragent的方法

file_get_contents伪造user_agent curl设置useragent的方法

file_get_contents 和 curl 这俩强悍的函数,在远程抓取时候相当有用处.不过一些网站会根据来访ip是否携带user_agent来判断是正常的浏览器客户端还是机器.所以,我们的任务就是给他们伪造user_agent.


file_get_contents伪造user_agent 方法如下:

ini_set(''user_agent'',''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727;http://www.9qc.com)'');


curl伪造user_agent的方法:

curl_setopt($c, CURLOPT_USERAGENT, ''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727;http://www.9qc.com)''); 



curl的完整函数方法:

function curl_get_file_contents($URL)   
    {   
        $c = curl_init();   
        curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
//curl_setopt($c, CURLOPT_HEADER, 1);//输出远程服务器的header信息
curl_setopt($c, CURLOPT_USERAGENT, ''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727;http://www.9qc.com)'');
        curl_setopt($c, CURLOPT_URL, $URL);   
        $contents = curl_exec($c);   
        curl_close($c);
        if ($contents) {return $contents;}
            else {return FALSE;}
    }
这样就可以抓取了,user_agent可以自己修改.  


PS: (.*?):后面问号的意思是最少匹配(即懒惰匹配),如果没有那个问号就会最多匹配(即贪婪匹配)。

from fake_useragent import UserAgent

from fake_useragent import UserAgent

使用:
from fake_useragent import UserAgent
ua = UserAgent(verify_ssl=False)
res = ua.random
print(res)


安装

pip3 install fake_useragent

各浏览器User-Agent的值

from fake_useragent import UserAgent
ua = UserAgent()
# ie浏览器的user agent
print(ua.ie)
Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)
#opera浏览器
print(ua.opera)
Opera/9.80 (X11; Linux i686; U; ru) Presto/2.8.131 Version/11.11
#chrome浏览器
print(ua.chrome)
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2 #firefox浏览器 
#firefox浏览器
print(ua.firefox)
Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1 
#safri浏览器
print(ua.safari)
Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25 

实用性

写到这里大家会发现写爬虫最实用的是可以随意变换headers,一定要有随机性。在这里我写了三个随机生成user agent,三次打印都不一样,随机性很强,十分方便。

from fake_useragent import UserAgent
ua = UserAgent()
print(ua.random)
print(ua.random)
print(ua.random)
Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0.1 Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1 Opera/9.80 (X11; Linux i686; U; ru) Presto/2.8.131 Version/11.11 

爬虫中具体使用方法

import requests
from fake_useragent import UserAgent
ua = UserAgent()
headers = {''User-Agent'': ua.random}
url = ''待爬网页的url'' resp = requests.get(url, headers=headers) #省略具体爬虫的解析代码,大家可以回去试试 ...




1. UserAgent 模块使用

1
2
3
4
5
6
from  fake_useragent  import  UserAgent
 
ua  =  UserAgent()   # 实例化,实例化时需要联网但是网站不太稳定
 
print (ua.ie)        # 随机打印一个 ie 浏览器的头
print (ua.random)    # 随机打印 User-Agent

2. 模块下载

1
pip install fake - useragent

3. 查看 fake-useragent 模块下载 User-Agent 的下载地址

1
2
3
4
5
6
7
8
下载地址:
     http: / / d2g6u4gh6d9rq0.cloudfront.net / browsers / fake_useragent_0. 1.10 .json
 
最后的 fake_useragent_0. 1.10 .json 中的   0.1 . 10  指的是版本
 
查看版本
     https: / / pypi.org / project / fake - useragent /
     / /  也是模块,文档

4. 查看 fake-useragent 模块下载 User-Agent 的下载地址

1
2
3
4
5
6
7
8
下载地址:
     http: / / d2g6u4gh6d9rq0.cloudfront.net / browsers / fake_useragent_0. 1.10 .json
 
最后的 fake_useragent_0. 1.10 .json 中的   0.1 . 10  指的是版本
 
查看版本
     https: / / pypi.org / project / fake - useragent /
     / /  也是模块,文档





今天的关于如何使用userAgent检测移动设备user agent 检测的分享已经结束,谢谢您的关注,如果想了解更多关于Adsense 毁了移动设备的 Pagespeed 得分,移动设备 50,桌面设备 98、android – 检测移动设备的屏幕键盘上是否有密钥、file_get_contents伪造user_agent curl设置useragent的方法、from fake_useragent import UserAgent的相关知识,请在本站进行查询。

本文标签: