Megaupload pelo terminal

Iniciado por Zeox, 25 de Novembro de 2010, 16:28

tópico anterior - próximo tópico

Zeox

Vasculhando a net achei a dica do Junior Polegato do VOL e resolvi compartilhar com a comunidade, caso já exista, favor desconsiderar.

Tudo se passa no script abaixo que já faz tudo para nós, inserir o código, esperar e pegar o arquivo via terminal, primeiramente, devemos instalar os pacotes magemagick e tesseract-ocr pelo synaptic ou via linha de comando: apt-get install imagemagick tesseract-ocr .

Após executado, é so usar o comando

Citarauto_megaupload endereço_1

caso queira adicionar mais links, apenas de um espaço e adicione o segundo e sucessivos links.

Script:

#!/bin/bash

# Autor..: Claudio Polegato Junior
# Data...: 25/05/2010
# Arquivo: auto_megaupload
# Versão.: 0.1.0
#
# Copyright© Claudio Polegato Junior <linux@juniorpolegato.com.br>
# Todos os direitos reservados

# Uso: auto_megaupload endereço_1 [[endereço_2 endereço_3 ... ]]

########################################################################

# Endereço passado na linha de comando
LINK="$1"

# Tempo de espera
WAIT=50

# Modo silencioso, comente para ver detalhes
#QUIET="-q"

# Inicia o laço caso não consiga baixar o arquivo
while [ -n "$LINK" ]; do

    # Baixa a página inicial que pede o código e armazena em cap.html
    wget $QUIET "$LINK" -O cap.html

    # Baixa a imagem do código em cap.gif
    CAP="`sed -n '/gencap/s/.*src="\([^"]*\).*/\1/p' cap.html`"
    wget $QUIET "$CAP" -O cap.gif

    # Converte cap.gif em cap.tif apropria para reconhecer o código
    convert -separate cap.gif cap.tif
    tesseract cap.tif cap
    TXT="`grep -m 1 . cap.txt`"

    # Exibe o código reconhecido e a imagem, comente se preferir
    echo
    echo "********************"
    echo
    echo $TXT
    display cap.tif &
    echo
    echo "********************"
    echo

    # Monta o bloco de dados para requerer o endereço de download
    POST1="`sed -n 's/.*captchacode.*value="\([^"]*\).*/captchacode=\1/p' cap.html`&"
    #echo post1 $POST1
    POST2="`sed -n 's/.*megavar.*value="\([^"]*\).*/megavar=\1/p' cap.html`&"
    #echo post2 $POST2
    POST3="captcha=$TXT"
    #echo post3 $POST3
    POST="$POST1$POST2$POST3"
    echo POST $POST

    # Requer o endereço de download e armazena em download.html
    wget $QUIET --post-data="$POST" "$LINK" -O download.html

    # Extrai o endereço de download
    DOWN="`sed -n 's/.*downloadlink.*href="\([^"]*\).*/\1/p' download.html`"
    echo DOWN $DOWN

    # Volta ao início se não conseguir o endereço de download
    if [ -z "$DOWN" ]; then
        continue
    fi

    # Esperando o tempo para poder iniciar o download
    echo
    echo "Esperando $WAIT segundos..."
    sleep $WAIT

    # Inicia o download, reiniciando se não der certo
    if ! wget $QUIET "$DOWN"; then
        continue
    fi

    # Próximo download
    shift
    LINK="$1"
done


eu fiz um script bem simples para, após o download, apagar o ''lixo'' que resta usando o comando sh arquivo.sh

rm *.html && rm *.txt && rm *.tif && rm *.gif

link para os 2 scripts: http://www.mediafire.com/?a13m3wj157g1k1d


platao

Ola Zeox, como e uma dica entao estou movendo para Dicas e truques.
\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997

Holmes

Citação de: Zeox online 25 de Novembro de 2010, 16:28
Vasculhando a net achei a dica do Junior Polegato do VOL e resolvi compartilhar com a comunidade, caso já exista, favor desconsiderar.

Tudo se passa no script abaixo que já faz tudo para nós, inserir o código, esperar e pegar o arquivo via terminal, primeiramente, devemos instalar os pacotes magemagick e tesseract-ocr pelo synaptic ou via linha de comando: apt-get install imagemagick tesseract-ocr .

Após executado, é so usar o comando

Citarauto_megaupload endereço_1

caso queira adicionar mais links, apenas de um espaço e adicione o segundo e sucessivos links.

Script:

#!/bin/bash

# Autor..: Claudio Polegato Junior
# Data...: 25/05/2010
# Arquivo: auto_megaupload
# Versão.: 0.1.0
#
# Copyright© Claudio Polegato Junior <linux@juniorpolegato.com.br>
# Todos os direitos reservados

# Uso: auto_megaupload endereço_1 [[endereço_2 endereço_3 ... ]]

########################################################################

# Endereço passado na linha de comando
LINK="$1"

# Tempo de espera
WAIT=50

# Modo silencioso, comente para ver detalhes
#QUIET="-q"

# Inicia o laço caso não consiga baixar o arquivo
while [ -n "$LINK" ]; do

    # Baixa a página inicial que pede o código e armazena em cap.html
    wget $QUIET "$LINK" -O cap.html

    # Baixa a imagem do código em cap.gif
    CAP="`sed -n '/gencap/s/.*src="\([^"]*\).*/\1/p' cap.html`"
    wget $QUIET "$CAP" -O cap.gif

    # Converte cap.gif em cap.tif apropria para reconhecer o código
    convert -separate cap.gif cap.tif
    tesseract cap.tif cap
    TXT="`grep -m 1 . cap.txt`"

    # Exibe o código reconhecido e a imagem, comente se preferir
    echo
    echo "********************"
    echo
    echo $TXT
    display cap.tif &
    echo
    echo "********************"
    echo

    # Monta o bloco de dados para requerer o endereço de download
    POST1="`sed -n 's/.*captchacode.*value="\([^"]*\).*/captchacode=\1/p' cap.html`&"
    #echo post1 $POST1
    POST2="`sed -n 's/.*megavar.*value="\([^"]*\).*/megavar=\1/p' cap.html`&"
    #echo post2 $POST2
    POST3="captcha=$TXT"
    #echo post3 $POST3
    POST="$POST1$POST2$POST3"
    echo POST $POST

    # Requer o endereço de download e armazena em download.html
    wget $QUIET --post-data="$POST" "$LINK" -O download.html

    # Extrai o endereço de download
    DOWN="`sed -n 's/.*downloadlink.*href="\([^"]*\).*/\1/p' download.html`"
    echo DOWN $DOWN

    # Volta ao início se não conseguir o endereço de download
    if [ -z "$DOWN" ]; then
        continue
    fi

    # Esperando o tempo para poder iniciar o download
    echo
    echo "Esperando $WAIT segundos..."
    sleep $WAIT

    # Inicia o download, reiniciando se não der certo
    if ! wget $QUIET "$DOWN"; then
        continue
    fi

    # Próximo download
    shift
    LINK="$1"
done


eu fiz um script bem simples para, após o download, apagar o ''lixo'' que resta usando o comando sh arquivo.sh

rm *.html && rm *.txt && rm *.tif && rm *.gif

link para os 2 scripts: http://www.mediafire.com/?a13m3wj157g1k1d



Valeu pela dica Zeox, muito interessante.

vlw fwi, Viva 8)
EeePC 1008ha - Chakra Linux (Edn) - KDE 4.7.4 - Kernel 3.1.
- Meu Blog: http://holmeslinux.blogspot.com/
- Fundador do Chakra Brasil: http://chakra-linux.com.br/forum

ph_swordman

#3
cara nao to conseguindo de jeito nenhum fazer isso funcionar....
como funciona ?
eu executo o arquivo no terminal... depois eu faço esse comando ai?.... ou eu substituo o link no script?!


obs:.. entendi o que eu tava fazendo de errado....
para utilizar e simples...
bastas entrar na pasta onde esta o script
e dar o comando da seguinte maneira :
"./auto_megaupload http://www.megaupload.com/?d=78WIH0MB"

o link foi um exemplo.