Dev (Back & Front)ARTIGO

Códigos Python para teste de interface mobile amigável

Por meio dos códigos que escreveremos e discutiremos neste artigo, você será capaz de verificar se um site tem interface mobile amigável ou não.

Olá, pessoal, estou de volta com outro script que pode ser útil para os proprietários de sites, especialistas em SEOSEO4 conteúdosPor que a transição do SEO clássico para a Otimização de Motores Generativos (GEO) exige que se repense a modelagem semânticaMarketing Tech · mai 2026O impacto da pesquisa e do SEO no comércio eletrônico: insights da State of Search Brasil 5Marketing Tech · fev 2025SEO por Elas 2025: Impulsionando e promovendo mulheres no Marketing DigitalMarketing Tech · fev 2025Ver tudo em Marketing Tech , bem como pessoas normais como eu. Por meio dos códigos que escreveremos e discutiremos neste artigo, você será capaz de verificar se um site tem interface mobile amigável ou não. Bom, aqui eu ofereço um bônus. Com os códigos, você será capaz de enviar uma série de websites de uma só vez para teste instantâneo de interface mobile amigável. Por que isso é necessário? Aqui está a resposta. Na última atualização do algoritmo de busca do Google, o senhor das buscas considera agora interface mobile amigável como um fator importante para a classificação de um website.

Script PythonPython56 conteúdosVSCode + Python + Alexa: Desenvolva e teste skills para alexa localmente com pythonDev (Back & Front) · out 2025Dominando decoradores em Python: um guia completo com exemplosDev (Back & Front) · jan 2025Desenvolvimento de software: diferenças entre Python, JavaScript e JavaGestão Dev & TI · nov 2024Ver tudo em Dev (Back & Front) para automatizar teste de interface mobile amigável

Antes de começar

Antes de começarmos a nossa codificação, vamos deixar algumas coisas claras. Nós escreveremos dois arquivos – um será de texto simples e outro será um arquivo Python. No arquivo de texto, iremos escrever os nomes dos domínios que desejamos enviar para o teste de interface mobile amigável, um em cada linha no formato dominio.com ou seja, sem www.

from json import loads 
import mechanize 
br = mechanize.Browser() 
br.set_handle_robots(False) 
br.addheaders = [("User-agent","Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.13) Gecko/20101206 Ubuntu/10.10 (maverick) Firefox/3.6.13")] 

with open('websitesformobilefriendlytest.txt') as f: 
    for line in f: 
        google_results = br.open("https://www.googleapis.com/pagespeedonline/v3beta1/mobileReady?url=http://" + str(line)).read() 
        json_obj = loads(google_results) 
        if json_obj["ruleGroups"]["USABILITY"]["pass"] == True: 
            print "Congrats " + str(line) + " is mobile friendly" 
        else: 
            print str(line) + " is not mobile friendly"

1 – Linha 1 e 2

Estas são as instruções de importação, já que vamos utilizar o módulo mechanize para consultar a interface mobile amigável por meio de um navegador instanciado pelo módulo e a resposta será um JSON, por isso vamos importar uma grande quantidade de JSON.

2 – Linha de 3 a 5

Na linha 3, usamos o método Browser() do mechanize para instanciar um navegador. A linha 4 é uma declaração que diz para ignorar o arquivo robots.txt. Na linha 5, especificamos um agente de usuário.

3 – Linha de 7 a 14

A linha 7 abre o arquivo de texto onde previamente havíamos armazenado os nomes de domínio. Nós agora podemos referenciar o conteúdo do arquivo pela variável f.

A linha 8 é o início do ciclo que armazena o nome do domínio na linha da variável em cada interação.

Na linha 9, consultamos um nome de domínio/website para o teste de interface mobile amigável. A URL especificada irá retornar uma resposta do resultado do teste, que nós armazenamos em uma variável chamada google_results.

Na linha 10, lemos a resposta e guardamos como um objeto JSON na variável json_obj.

Agora na linha 11, temos uma instrução condicional para verificar se o site passou no teste de interface mobile amigável. O resultado do teste é um valor booleano, que é um valor para a chave “pass” que é novamente um valor para a chave “USABILITY”, que por sua vez é um valor para a chave “ruleGroups” no json_obj. Abaixo está o exemplo de como isso se parece.

{“ruleGroups” : {“USABILITY” : {“pass” : True/False}}}

Se o site passou no teste de interface mobile amigável, o valor será True. Com base no resultado, imprimiremos se o website tem interface mobile amigável ou não.

Testador de interface mobile amigável que grava o resultado em planilha Google

Bom, aqui está o código bônus. Deixe-me saber se você tem alguma dúvida sobre os códigos na seção de comentários abaixo. Além disso, aqui está um programa semelhante (é um script verificador de site WordPress) com uma explicação sobre os códigos que pode ajudá-lo a compreender e implementar esses códigos. Obrigado pela leitura.

from json import loads 
import mechanize 
import gdata.spreadsheet.service 
import datetime 
rowdict = {} 
rowdict['date'] = str(datetime.date.today()) 
spread_sheet_id = '13mX6ALRRtGlfCzyDNCqY-G_AqYV4TpE7rq1ZNNOcD_Q' 
worksheet_id = 'od6' 
client = gdata.spreadsheet.service.SpreadsheetsService() 
client.debug = True 
client.email = 'email@domain.com' 
client.password = 'password' 
client.source = 'mobilefriendlytest' 
client.ProgrammaticLogin() 

br = mechanize.Browser() 
br.set_handle_robots(False) 
br.addheaders = [("User-agent","Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.13) Gecko/20101206 Ubuntu/10.10 (maverick) Firefox/3.6.13")] 

with open('websitesformobilefriendlytest.txt') as f: 
for line in f: 
    google_results = br.open("https://www.googleapis.com/pagespeedonline/v3beta1/mobileReady?url=http://" + str(line)).read() 
    json_obj = loads(google_results) 
    rowdict['website'] = str(line) 
    if json_obj["ruleGroups"]["USABILITY"]["pass"] == True: 
       #print "Congrats " + str(line) + " is mobile friendly" 
       rowdict['ismobilefriendly'] = "yes" 
    else: 
       #print str(line) + " is not mobile friendly" 
       rowdict['ismobilefriendly'] = "no" 
    client.InsertRow(rowdict,spread_sheet_id, worksheet_id)

***

Bhishan Bhandari faz parte do time de colunistas internacionais do iMasters. A tradução do artigo é feita pela redação iMasters, com autorização do autor, e você pode acompanhar o artigo em inglês no link: http://www.thetaranights.com/website-mobile-friendly-tester-automation-script-python-codes-for-mobile-friendly-test/

É estudante da Ciência da Computação no Deerwalk Institute of Technology, que fica no Nepal. É apaixonado por automação e prefere a linguagem de programação Python. Trabalha como programador JavaScript e escreve códigos para resolver tarefas repetitivas do dia a dia.

Ver perfil