wget um site para csv

1

existe uma maneira de wget de um site e colocar seu conteúdo tabular em .csv ?

ou talvez um cURL solicite uma página da web, pegue seu conteúdo tabular representado em números que consistem em HTML para .csv ?

    
por unixmiah 07.07.2016 / 07:28

1 resposta

1

O PHP tem uma classe DOMDocument que você pode usar para recuperar e analisar o html.

esse código buscará e extrairá as linhas da página da web. Ainda há mais trabalho necessário para extrair os itens específicos que você deseja, mas se você estiver disposto a aprender um pouco de PHP, você começará a usá-lo

<?php

$html = file_get_contents('http://currency.poe.trade/search?league=Prophecy&online=x&want=1&have=4');

$doc = new DOMDocument;
$doc->loadHTML($html);

$xpath = new DOMXpath($doc);
$rows = $xpath->query('//div[contains(@class, "row")]'); //instance of DOMNodeList
foreach ($rows as $row) {
    // var_dump($row);
    echo "Found {$row->nodeValue}";
}

Você pode executar o código acima copiando e colando neste interpretador PHP on-line Quando eu executo, recebo o seguinte exemplo de saída (truncado)

Found Currency market // Prophecy ← go to item trades Protip Arrows always point from what you pay to what you get. (You get ⇐ You pay) Currency search Manage your shop Show search form League ProphecyHardcore ProphecyStandardHardcore Online only Off On What do you want? What do you have? Reset .... [more output]

uma vez que você extraiu a informação que você quer, então é muito simples fazer com que cada item de interesse seja delimitado por , , depois inserir e nova linha para cada registro e, em seguida, você terá um arquivo CSV.

Nota: para depuração, você precisará despejar um DOMelement em seu formato de marcação HTML / XML. Você pode usar isto:

$xml = $domElement->ownerDocument->saveXML($domElement);

ou alternativamente

$html = $domElement->ownerDocument->saveHTML($domElement);

mais informações em: link

    
por 07.07.2016 / 09:22

Tags