Skip to content

Latest commit

 

History

History
32 lines (26 loc) · 1.23 KB

10-coletando_atributos.md

File metadata and controls

32 lines (26 loc) · 1.23 KB

Coletando atributos de cada item visível na home

Agora vamos baixar todos os dados de cada aparelho visível na home do site. Como não é o objetivo trabalharmos com banco de dados nestes exercícios, vamos salvar a saída destes dados em um arquivo json.

$crawler = $browser->request('GET', 'https://vitormattos.github.io/poc-lineageos-cellphone-list-statics/about');
function getItensInAListPage($crawler)
{
    $return = [];
    $crawler->filter('article')->each(function($article) use (&$return) {
        $url = $article->filter('.title')->link()->getUri();
        $codename = basename($url);

        // pega todos os elementos th
        $attributes = $article->filter('th')->each(function($attr) {
            return strtolower($attr->text());
        });
        // pega todos os elementos td
        $values = $article->filter('td')->each(function($attr) {
            return strtolower($attr->text());
        });

        $return[$codename] = array_combine($attributes, $values);

        $return[$codename]['url'] = $url;
    });
    return $return;
}
$itensInPage = getItensInAListPage($crawler);

Código: Acessando atributos