KEMBAR78
Hackeando o Facebook com Python | PDF
Hackeando o
   com
            TDC2012
           @fmasanori
http://www.slideshare.net/fmasanori
•   Conhecendo o palestrante
•   Conhecendo os assistentes
•   Python vale a pena
•   Facebook
•   Demo
•   Perguntas
Conhecendo o palestrante
•   IME-USP e Mestrado ITA
•   ed e lint Cobra Tecnologia
•   Software Express
•   Credicard Mastercard
•   PriceWaterhouseCoopers
•   Itau BankBoston
•   Docente FATEC (amo dar aulas)
•   Interesses: Python, NoSQL, Google
    Technology, Facebook
Python: cases de sucesso
Python: cases de sucesso
Python: cases de sucesso
Python: cases de sucesso
Python: quem usa
Python: quem usa
Python: quem usa
Popularidade Github e StackOverflow
Job Trends Indeed.com
A linguagem do ano de 2010!
“A vida é melhor sem chaves“.
         “A vida é curta! Você precisa de Python”.
      “Python me ajuda a focar nos meus conceitos
        em vez de ficar brigando com a linguagem”.
“Eu não preciso digitar muito. Mas o que eu digito é certo”.
    Bruce Eckel, autor do best seller “Thinking in Java”.
”Entre todas as linguagens que eu aprendi, Python é a que menos
       interfere entre mim e o problema. É a mais efetiva para
                   traduzir pensamentos em ações“.
            Eric Raymond, Autor “A catedral e o Bazar”.
             Contribuidor do GNU Emac, Linux, Fetchmail.
Mantém o Jargonfile, mais conhecido como “Dicionário dos Hackers”
”Python tem sido uma parte importante do Google desde o início, e
permanece assim conforme o sistema cresce e evolui. Hoje, dezenas de
 engenheiros do Google usam Python, e estamos procurando por mais
           pessoas com conhecimento nessa linguagem“.
    Peter Norvig, diretor de qualidade de busca do Google Inc.
“[…] nossa filosofia aqui é “Python sempre que pudermos, C++ se
necessário”". Alex Martelli, Líder Técnico, Sistemas de Produção, Google.
“Python é rápido o suficiente para o nosso site e nos permite produzir
    características de fácil manutenção em tempos recordes, com um
mínimo de desenvolvedores”. Cuong Do, Software Architect, YouTube.com
Melhora da auto estima do aluno
Melhora da auto estima do aluno




   Hacking Facebook Friends Photos
   http://pastebin.com/9W22wsFf

          Simple Twitter Client
    http://pastebin.com/NJyfdmZp
Tempo para ser produtivo



  C              2a
  Java          6m
  Python        1m
Hackers não são “do mal”?
“O Facebook é dirigido por hackers. A
  maioria das pessoas pensa de um
  hacker como alguém que invade um
  sistema de computador. Mas nós
  vemos isso como uma filosofia. Aqui, os
  hackers assumem que sempre há uma
  maneira melhor, mais eficiente de resolver
  problemas.” facebook.com/careers
Leitura dados básicos JSON




Obs.: estes campos podem mudar, acesse a url no browser para checar
Gravar o logo encontrado
Leitura de um perfil FB
Leitura da foto do perfil
Facebook Graph API
• https://graph.facebook.com
• Os retornos são objetos JSON
• Os links para acesso de coleções já são
  autenticados
• Atenção: o access_token expira, para rodar
  novamente o programa basta acessar
  novamente graph.facebook.com ou autenticar
Listar os amigos
Listar as amigas
Gravar fotos das amigas



http://pastebin.com/9W22wsFf
Listar os álbuns de fotos
Baixar fotos dos álbuns
• Para baixar as fotos é necessário “tratar” o
  código html para descobrir as fotos em boa
  resolução
• Uma boa opção é o BeautifulSoup
Perguntas?
 fmasanori@gmail.com

facebook.com/fmasanori
 twitter.com/fmasanori

Hackeando o Facebook com Python

  • 1.
    Hackeando o com TDC2012 @fmasanori http://www.slideshare.net/fmasanori
  • 2.
    Conhecendo o palestrante • Conhecendo os assistentes • Python vale a pena • Facebook • Demo • Perguntas
  • 3.
  • 4.
    IME-USP e Mestrado ITA • ed e lint Cobra Tecnologia • Software Express • Credicard Mastercard • PriceWaterhouseCoopers • Itau BankBoston • Docente FATEC (amo dar aulas) • Interesses: Python, NoSQL, Google Technology, Facebook
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
    Popularidade Github eStackOverflow
  • 14.
  • 15.
    A linguagem doano de 2010!
  • 16.
    “A vida émelhor sem chaves“. “A vida é curta! Você precisa de Python”. “Python me ajuda a focar nos meus conceitos em vez de ficar brigando com a linguagem”. “Eu não preciso digitar muito. Mas o que eu digito é certo”. Bruce Eckel, autor do best seller “Thinking in Java”.
  • 17.
    ”Entre todas aslinguagens que eu aprendi, Python é a que menos interfere entre mim e o problema. É a mais efetiva para traduzir pensamentos em ações“. Eric Raymond, Autor “A catedral e o Bazar”. Contribuidor do GNU Emac, Linux, Fetchmail. Mantém o Jargonfile, mais conhecido como “Dicionário dos Hackers”
  • 18.
    ”Python tem sidouma parte importante do Google desde o início, e permanece assim conforme o sistema cresce e evolui. Hoje, dezenas de engenheiros do Google usam Python, e estamos procurando por mais pessoas com conhecimento nessa linguagem“. Peter Norvig, diretor de qualidade de busca do Google Inc.
  • 19.
    “[…] nossa filosofiaaqui é “Python sempre que pudermos, C++ se necessário”". Alex Martelli, Líder Técnico, Sistemas de Produção, Google.
  • 20.
    “Python é rápidoo suficiente para o nosso site e nos permite produzir características de fácil manutenção em tempos recordes, com um mínimo de desenvolvedores”. Cuong Do, Software Architect, YouTube.com
  • 22.
    Melhora da autoestima do aluno
  • 23.
    Melhora da autoestima do aluno Hacking Facebook Friends Photos http://pastebin.com/9W22wsFf Simple Twitter Client http://pastebin.com/NJyfdmZp
  • 24.
    Tempo para serprodutivo C 2a Java 6m Python 1m
  • 26.
    Hackers não são“do mal”?
  • 27.
    “O Facebook édirigido por hackers. A maioria das pessoas pensa de um hacker como alguém que invade um sistema de computador. Mas nós vemos isso como uma filosofia. Aqui, os hackers assumem que sempre há uma maneira melhor, mais eficiente de resolver problemas.” facebook.com/careers
  • 28.
    Leitura dados básicosJSON Obs.: estes campos podem mudar, acesse a url no browser para checar
  • 29.
    Gravar o logoencontrado
  • 30.
    Leitura de umperfil FB
  • 31.
    Leitura da fotodo perfil
  • 32.
    Facebook Graph API •https://graph.facebook.com • Os retornos são objetos JSON • Os links para acesso de coleções já são autenticados • Atenção: o access_token expira, para rodar novamente o programa basta acessar novamente graph.facebook.com ou autenticar
  • 33.
  • 34.
  • 35.
    Gravar fotos dasamigas http://pastebin.com/9W22wsFf
  • 36.
  • 37.
    Baixar fotos dosálbuns • Para baixar as fotos é necessário “tratar” o código html para descobrir as fotos em boa resolução • Uma boa opção é o BeautifulSoup
  • 38.