Criar gráficos, estatística da "Google-Scholar" usando wget
Publicado por Iago Lira (última atualização em 16/10/2017)
[ Hits: 3.801 ]
Homepage: https://notabug.org/iagolira/
Download 6714.scholar-search.sh
Você que é pesquisador já tentou gerar um gráfico do número de publicações vs data etc, mas ficou limitado por ferramentas pagas de terceiros?
Seus problemas acabaram! Esse script gera um gráfico do número de publicações de determinado assunto pelo ano de publicação. No futuro irei implementar mais funcionalidades, mas você está livre para pegar o script e melhorá-lo.
Observações:
Quando executei o script pela primeira vez, este funcionou de boa, mas quando executei várias vezes seguidas o "wget" retornou o erro 302. Consegui superar esse erro fazendo o seguinte:
1) Editar o arquivo: nano ~/.wgetrc;
2) Inserir o seguinte conteúdo em ~/.wgetrc:
header=authority:scholar.google.com
header=method:GET
header=scheme:https
header=accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
header=accept-language:pt-BR,pt;q=0.8,en;q=0.6,fr;q=0.4,gl;q=0.2,am;q=0.2,el;q=0.2,he;q=0.2
header=cache-control:max-age=0
header=cookie:SID=JgUiFjPvG5tQOvfOPhEOSBGIgINeH92h6SeG9xgOXSK-7ob0-LqpYrfnzJ4RR-eXwbqxzA.; HSID=AJixidx0AB6RcyN2E; SSID=A5UZreCHfbfZQL6a$
header=dnt:1
header=upgrade-insecure-requests:1
header=user-agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36
header=x-chrome-uma-enabled:1
header=x-client-data:CJG2yQEIo7bJAQj6nMoBCKmdygEI0p3KAQ==
3) Ctrl+o (para salvar) e Ctrl+x (para sair do editor);
4) Pronto, agora é só executar o script e ser feliz.
Você deve está curioso de onde tirei o conteúdo inserido no "~/.wgetrc", né? Pois bem, para saber fazer com outros sites é só entrar pelo google chrome, acessar a página e pressionar a tecla F12, clicar em network, pressionar F5 e clicar num dos links. Por último, vá até "Request Headers" e compare com o conteúdo inserido em "~/.wgetrc". Ia esquendo, não precisa inserir "referer" em "~/.wgetrc", já fiz isso no script. Não irei me aprofundar nisso.
Espero que gostem.
#+---------------------------------------+ #|Programa: scholar-search | #|Autor: Francisco Iago Lira Passos | #|Função: Pesquisar e fazer estatísticas | #| das mesma usando o mecanismo | #| da Google Search | #|Data: 10-09-2017 | #+---------------------------------------+ #!/bin/bash export object=$1 export ylo=$2 export yhi=$3 function capture (){ name=$(echo $object | sed 's/+/-/g') echo '' > grafico-$name-pubsVsAnos.dat for (( i=$ylo; i<=$yhi; i++ )) do rm -f scholar?q=* link="https://scholar.google.com/scholar?q=$object&hl=en&as_sdt=0%2C5&as_ylo=$i&as_yhi=$i" sublink="/scholar?q=$object&hl=en&as_sdt=0%2C5&as_ylo=$i&as_yhi=$i" wget $link --referer=$link filename="scholar?q=$object&hl=en&as_sdt=0%2C5&as_ylo=$i&as_yhi=$i" pubs=`cat $filename | sed 's/About/\n/g' | sed '/results/!d; s/results.*//g; s/ \|,//g'` clear echo $i" "$pubs >> grafico-$name-pubsVsAnos.dat done exit 0 } if [ "$1" == "" ] || [ "$2" == "" ] || [ "$3" == "" ]; then clear echo " +--------------------------------------------------+ | Para ter uma boa experiência com o script | | Recomendamos que siga conforme o exemplo: | |==================================================| | ./scholar-search.sh forensic+computing 1991 2017 | | ./scholar-search.sh carbon+nanotubes 1991 2017 | |==================================================| | Obs: Não esqueça de separar com '+'! | +--------------------------------------------------+" else capture fi
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - FILTRO PARA CMAMAR O CLAMAV DIRETAMENTE DO POSTFIX
Teste de atividade e funcionamento de portas através do Nmap
COMO CRIAR UM MENU PARA SCRIPT EM SHELL NO LINUX, DEBIAN, UBUNTU E ETC
Levantamento de hardware e software no Mandriva 2006
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)