脚本移动友好测试

2024-06-14 10:52:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我想写一个shell/python脚本来检查一个网站是否对移动设备友好。使用浏览器,访问-

https://www.google.com/webmasters/tools/mobile-friendly/?url=<website_addr>

例如-

^{pr2}$

我尝试通过curl,wgetlynx命令获取内容,但没有成功。在

我该怎么做?在


Tags: https脚本comurl网站wwwgoogle浏览器
3条回答

该页面使用一个JSONP请求到一个尚未发布的googlepagespeed API。Google发布了PageSpeeds Insights API v2,但页面似乎使用了v3beta1端点。在

例如,当您转到https://www.google.com/webmasters/tools/mobile-friendly/?url=http://facebook.com页面并查看浏览器开发人员工具的“网络”选项卡时,您将看到一个请求:

https://www.googleapis.com/pagespeedonline/v3beta1/mobileReady?key=AIzaSyDkEX-f1JNLQLC164SZaobALqFv4PHV-kA&screenshot=true&snapshots=true&locale=en_US&url=http%3A%2F%2Ffacebook.com%2F&strategy=mobile&filter_third_party_resources=false&callback=_callbacks_._Ce2bYp0wchLY

url参数直接取自传递给页面的url参数,callback参数用于JSONP请求提供回调包装器。在

Google有可能替换掉其中使用的API密钥,但与此同时,您可以使用Python代码验证站点的移动友好性:

^{pr2}$

桑奇特

我建议您查看requests库来检索url。另外,正如已经说过的(我没有这个api的经验),您需要调用“https://www.googleapis.com/pagespeedonline/v3beta1/mobileReady?url=http://facebook.com”,而不是您发布的url。在

下面是一个例子:

import requests

r = requests.get('https://www.googleapis.com/pagespeedonline/v3beta1/mobileReady?url=http://facebook.com')

data = r.json()

这将为您提供一个json文件,其中包含您发布的网站使用的所有数据。在

在@TimberlakeCoding&;MartijnPieters的帮助下,我自己解决了这个问题。在这里-

$ wget -q -O - https://www.googleapis.com/pagespeedonline/v3beta1/mobileReady?url=http://facebo‌​ok.com | grep "\"pass\": true" 

如果退出状态代码为0,则表示网站对移动设备友好,否则不友好。在

希望它能帮助别人! 谢谢

相关问题 更多 >