Deixando o arquivo HTML agir como URL com o wget

0

Se você quiser ir diretamente para a pergunta, pule para a pergunta em negrito e em itálico, além do código.

Introdução:

Estou com problemas com arquivos wget e html. Estou usando o Ubuntu 15.10.

Estou tentando coletar dados de um banco de dados, mas, em vez de usar a pesquisa "get", ele usa "post". Isso significa simplesmente que não tenho URLs para trabalhar com o wget.

Eu criei o arquivo html para pesquisar pelo método "post" para ignorar a restrição "get" do site. Isso significa que ele carrega o arquivo html inicial, e como ele está pesquisando usando "post", as coisas que eu quero que o wget baixe vem demorar um pouco para carregar.

Eu entendo que o wget funciona procurando no arquivo html por links http, mas existe uma maneira de fazer com que o wget carregue a página html por um segundo ou dois, e continue com o download da página.

Código:

Aqui está o código html que atua como meu link para a página que eu quero:

<form name="PrimarySearch" id="PrimarySearch" action="http://www.dec.ny.gov/cfmx/extapps/derexternal/spills/details.cfm?pageid=2" method="post" onsubmit="return _CF_checkPrimarySearch(this)">
    <p>
        There are two ways to search the database: by spill number or by other search criteria.&nbsp;&nbsp;
        Entering a spill number will provide the full record for one spill.&nbsp;&nbsp;
        Entering other search criteria will provide a list of spills that meet the criteria,&nbsp;
        with partial information about each.
    </p>
    <div>
        <label for="spill_num" id="spill_num">
            <strong>Search method #1:</strong> Enter a spill number:
        </label>
        <script type="text/javascript">
            <!--
            document.write('<input type="hidden" name="bjavascriptEnabled" value="1">');
            -->         
        </script>
        <input name="spill_num" id="spill_num"  type="text" value="1409515"/>
            <input type="hidden" name="pageID" value="2">
        <input type="Submit" value="Submit">
    </div>
</form>
<script>document.getElementById('PrimarySearch').submit();</script>

Portanto, se eu executar este arquivo html com wget e -i , ele procurará um link dentro do código html , sem permitir o arquivo html é executado.

Pergunta:

Posso deixar o wget usar meu arquivo html como um URL e carregá-lo para baixá-lo?

Uma resposta imediata seria muito apreciada, pois eu preciso desses dados o mais rápido possível.


Obrigado!

Howasaur

    
por howasaur 27.12.2015 / 07:43

1 resposta

1

Um grande obrigado ao @JeffSchaller, que mencionou o --post-file e o -post-data, que resolveram toda a questão.

Consegui usar a única página do método "post" genérico ( link ) para que wget insira o valor que eu queria acessar que eu não consegui através do método" get "que a pesquisa do site bloqueia. Abandonei o código html que usei anteriormente, pois wget não processa arquivos html.

Código:

Aviso: Eu não tentei wget sem --no-parent, --convert-links e --html-extension, mas um, alguns ou todos me ajudaram wget a página como um arquivo html local

wget --no-parent --convert-links --html-extension --post-data 'spill_num=1409515' http://www.dec.ny.gov/cfmx/extapps/derexternal/spills/details.cfm?pageid=2

Isso faz o download da página como um arquivo html local. Resolvendo o problema em que eu pegaria a página, mas sem formatação, tornando o arquivo em branco.

Howasaur

    
por 27.12.2015 / 17:18

Tags