Criar gráficos, estatística da "Google-Scholar" usando wget
Publicado por Iago Lira (última atualização em 16/10/2017)
[ Hits: 4.194 ]
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
Select tempfiles - Database Oracle
Claro 3g Sony Ericsson md300 script conexao - Revisado
Script para tirar relatorios de acesso discado
Instalando BeEF Framework no Ubuntu
A Fundação da Confiança Digital: A Importância Estratégica de uma PKI CA na Segurança de Dados
Como enviar dicas ou artigos para o Viva o Linux
Como Ativar a Aceleração por GPU (ROCm) no Ollama para AMD Navi 10 (RX 5700 XT / 5600) no Gentoo
Cairo Dock ainda funcional nos dias de hoje
Configuração de IP fixo via nmcli e resolução de nomes via /etc/hosts no Gentoo
Removendo o bloqueio por erros de senha no Gentoo (systemd)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Tentando fazer um "linux ricing" mas falhando miseravelmente... (2)
Elilo e Sofrimento no Slackware (3)
Não consigo instalar as bibliotecas em Python pelo terminal. (1)









