Organizador de filmes para o IMDB
Publicado por Renan Samuel da Silva (última atualização em 31/01/2013)
[ Hits: 4.525 ]
Homepage: http://chaotic-renan.tumblr.com/
Olá, como um grande fã de filmes estou sempre de olho no IMDB. Recentemente eu estava dando uma olhada no top 250 para procurar alguns bons filmes e senti a falta de um filtro, principalmente por datas. Então como um bom usuário de GNU/Linux, fiz um programa e estou compartilhando.
/* * This program is intended to sort the movies from top250 of imdb acording to * the movies date. * * There is no warranty that this will work and i am not respossibly for any * harm that this program may cause(but i doubt it can happen). * * I know that there are better ways to do what this program does, i just was * in a hurry to sort the movies and this come in my head fisrt. * * This is a opensource code and you can do whatever you want with it. Be kind * and keep it opensource. * * You can use curl to download the source code of the page and put that in a * file name 'dump' and the run this program. * * You can compile it using gcc sorter.c -o sorter on terminal and running using * ./sorter case you are using linux. If you use windows, i cannot help you. * Case you want to put the output in a file you can do something like * ./sorter > top250_sorted_by_year * * This should work for more pages that are not the top250, i havenot tried. * * You can emailme on uber.renan@gmail.com to ask anything about this. * * Use free software and be cool. * * This was made bye Renan Samuel da Silva * */ #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct{ char name[100]; int date; }_movie; int main(int argc, char *argv[]){ FILE *file=fopen("dump","rt"); char c; char date[5]; char name[100]; int cont=0,pivot,w=0; int i,j; _movie movie[250]; _movie tmp; while(!feof(file)){ c=fgetc(file); if(c=='('){ c=fgetc(file); if(c>='0' && c<='9'){ date[0]=c; date[1]=fgetc(file); date[2]=fgetc(file); date[3]=fgetc(file); date[4]='{FONTE}'; if((strcmp(date,"1|2)")==0) || (strcmp(date,"9)) ")==0)) continue; cont++; //printf("%s",date); movie[w].date=atoi(date); fseek(file,-11,SEEK_CUR); c=fgetc(file); while(1){ if(c=='/'){ c=fgetc(file); if(c=='"'){ c=fgetc(file); if(c=='>'){ pivot=0; c=fgetc(file); while(c!='<'){ name[pivot++]=c; c=fgetc(file); } name[pivot]='{FONTE}'; strcpy(movie[w++].name,name); break; } } } fseek(file,-2,SEEK_CUR); c=fgetc(file); } //printf(" -- %s\n",name); fseek(file,17,SEEK_CUR); } } } for(i=0;i<250;i++){ for(j=0;j<249;j++){ if(movie[j].date<movie[j+1].date){ tmp=movie[j]; movie[j]=movie[j+1]; movie[j+1]=tmp; } } } for(i=0;i<250;i++){ printf("%d - %s\n",movie[i].date,movie[i].name); } //printf(" -- cont=%d\n",cont); fclose(file); return EXIT_SUCCESS; }
Números de caracteres em arquivo
Arquivo com números aleatórios.
Nenhum comentário foi encontrado.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Máquinas Virtuais com IP estático acessando Internet no Virtualbox
Instalar o Microsoft Edge no Slackware 15
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
crontab executar em tempos (1)
Formatando cartão de memoria que nao formata[AJUDA] (9)
Programa duplicado no "Abrir com" e na barra de pesquisa do ... (3)