Google api 谷歌是否提供API访问移动友好测试?

Google api 谷歌是否提供API访问移动友好测试?,google-api,Google Api,是否有一个API允许访问谷歌的移动友好测试,可以在上看到?如果你不能通过谷歌搜索找到,它可能不存在 一个黑客解决方案是创建一个进程,该进程输入url,提交url,并对dom进行脏检查以获取结果 PhantomJS是一个无头WebKit,可使用JavaScript API编写脚本 然而,如果你滥用这个,谷歌有可能会将你的ip地址列入黑名单。轻量使用应该是好的。还要注意的是,谷歌可以随时更改其dom结构或类名,所以如果您的工具突然损坏,也不要感到惊讶 这里是一些粗略的,未经测试的代码 var url

是否有一个API允许访问谷歌的移动友好测试,可以在上看到?

如果你不能通过谷歌搜索找到,它可能不存在

一个黑客解决方案是创建一个进程,该进程输入url,提交url,并对dom进行脏检查以获取结果

PhantomJS是一个无头WebKit,可使用JavaScript API编写脚本

然而,如果你滥用这个,谷歌有可能会将你的ip地址列入黑名单。轻量使用应该是好的。还要注意的是,谷歌可以随时更改其dom结构或类名,所以如果您的工具突然损坏,也不要感到惊讶

这里是一些粗略的,未经测试的代码

var url = 'https://www.google.com/webmasters/tools/mobile-friendly/';
page.open(url, function (status) {

  // set the url
  document.querySelector('input.jfk-textinput').value = "http://thesite.com";
  document.querySelector('form').submit();

  // check for results once in a while
  setInterval(function(){
    var results = getResults(); // TODO create getResults
    if(results){
      //TODO save the results
      phantom.exit();
    }
  }, 1000);
});
这是一个选择


可以从谷歌云平台获取密钥。

获取PageSpeed Insights API密钥并创建凭据,按照谷歌的说明操作

在C#(6.0)和.NET 4.5.2中,我做了一些类似的事情: (在项目中添加对Newtonsoft.Json的引用。)

String yourURL=”https://www.google.com.br";
HttpClient=新的HttpClient();
client.BaseAddress=新Uri(“https://www.googleapis.com");
client.DefaultRequestHeaders.Accept.Add(新的System.Net.Http.Headers.MediaTypeWithQualityHeaderValue(“应用程序/json”);
var response=client.GetAsync($”/pagespeedonline/v3beta1/mobileReady?url={yourURL}&key=aizasyarsaccdp79hpffrzrvxailejd1ltdm3ww”)。结果;
字符串json=response.Content.ReadAsStringAsync().Result;
JObject obj=JObject.Parse(json);
bool isMobileFriendly=obj.Value(“规则组”).Value(“可用性”).Value(“通过”);
有一个API(测试版)用于移动友好测试。(发布日期:2017年1月31日)

API测试输出有三种状态:

  • 移动\u友好\u测试\u结果\u运行此测试时出现未指定的内部错误。请尝试再次运行测试
  • MOBILE_-FRIENDLY该页面是移动友好的。 3.不支持移动页面不支持移动

  • 这里有更多信息:

    这不起作用,因为谷歌在每次提交时都会进行reCAPTCHA robot测试。为什么不直接用PhantomJS加载测试中的页面,然后查看DOM,看看页面是否对移动友好。api不再起作用,我收到了“找不到”消息。
    https://www.googleapis.com/pagespeedonline/v3beta1/mobileReady?url={url}&key={api key}
    
    String yourURL = "https://www.google.com.br";
    HttpClient client = new HttpClient();
    client.BaseAddress = new Uri("https://www.googleapis.com");
    client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
    var response = client.GetAsync($"/pagespeedonline/v3beta1/mobileReady?url={yourURL }&key=AIzaSyArsacdp79HPFfRZRvXaiLEjCD1LtDm3ww").Result;
    string json = response.Content.ReadAsStringAsync().Result;
    JObject obj = JObject.Parse(json);
    bool isMobileFriendly = obj.Value<JObject>("ruleGroups").Value<JObject>("USABILITY").Value<bool>("pass");