1. Hackeando a Web com
Python 3
http://bit.ly/IxkwD4
Marcel Caraciolo
@marcelcaraciolo
Desenvolvedor, Cientista, Instrutor, co- fundador do PyCursos,
contribui com projetos open-source na área de ML,
trabalha com Python há 6 anos, interessado em mobile,
educação, machine learning and dadoooossss!
Recife, Brazil - http://aimotion.blogspot.com
5. Material adaptado dos Slides do Professor
Fernando Masanori!
!
!
!
www.slideshare.net/fmasanori/hackeando-ofacebook-e-o-twitter-com-python-3campus-party-2013
6. Agenda
Intro ao Python 3
Brincando com Facebook
Brincando com Reddit & MongoDB
Brincando com Foursquare
Brincando com Open Data & Twitter
Material para Casa
10. •
Permite focar no problema, sem perder tempo na sintaxe
•
Interativa
•
Alta produtividade
•
Baterias inclusas
•
Comunidade livre, forte, diversificada, alegre e acolhedora
•
Orientada a objetos, funcional, estruturada
•
Uso geral vs nichos
•
Simples de iniciar, sem esgotar
33. O que falam de Python ?
O que falam de Python
“Se o Voldemort quisesse ser realmente imortal, ele teria
programado uma horcrux recursiva em Python.” Harry Potter.
34. O que falam de Python ?
que falam de Python
O
“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”.
35. O que falam de Python ?
O que falam de Python
“Python é uma das cinco mais importantes linguagens que todo programador
deve conhecer” Bjarne Stroustrup, criador de C++
36. Linguagem poderosa, mas
Simples de Aprender
simples de aprender
Neil Ibata, 15 anos, foi aprender a programar em
Python com o pai e virou capa da revista Nature.
42. Check List
•
•
•
•
•
•
Conta no Facebook
Internet
Python 3
IDLE ou semelhante
Vamos fazer um aquecimento
Tutorial completo da linguagem
em Python for Zombies (YouTube)
43. Aquecimento: Install Python 3
• Windows
– download
– executar > next > next...
• Linux
– sudo apt-get install idle-python3.3
• Mac OS X
– sudo port install python32
44. Aquecimento: Using Python 3
• Windows
– Iniciar > Programas > Python3.3 >
IDLE (Python GUI)
• Linux (terminal)
– idle-python3.3 &
• Mac OS X (terminal)
– IDLE3.3 &
60. Dictionaries
• O dicionário em si consiste em relacionar uma
chave a um valor específico
• Diferentemente das listas, onde o índice é um
número, dicionários utilizam suas chaves
como índice
• Para adicionar novos elementos não preciso
de append, basta fazer a atribuição
– Se a chave já existe: o valor associado é alterado
– Se a chave não existe: a nova chave é adicionada
63. Dictionaries
• Faça um programa que leia o arquivo alice.txt
e conte o número de ocorrências de cada
palavra no texto. Obs.: para saber os
caracteres especiais use import string e
utilize string.punctuation
• http://www.gutenberg.org/cache/epub/11/pg
11.txt
http://www.gutenberg.org/cache/epub/11/pg11.txt
66. Java Script Object Notation
JavaScript Object Notation
•
•
•
•
•
•
http://json.org/
Independente de linguagem
Pares nome/valor
Lista ordenada
Muito adotado atualmente
Alternativa para o XML
– XML mais verbosa
– XML menor legibilidade
70. Facebook Hacking
“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 (2012)
83. Maria Luiza: Como se o evento não já estivesse bom, o CITi ainda melhora !!!!!
#talkabit #Euvou!
!
Victor Maristane: Garoto Propaganda do Talk a Bit no NE10, hehehe!
!
(A propósito, não deixem de se inscrever no Talk a Bit++: http://citi.org.br/talkabit :), essa edição vai
conseguir ser absurdamente melhor :DD)!
!
Jader Anderson: Boa filosofia para um encontro: Lean, Code e Play.!
!
http://citi.org.br/talkabit/!
!
Maria Luiza: Eu não sei se te contei MAS, o Talk a Bit custa apenas R$ 16,00 e já é dia 30/11. Vai ficar de
fora é ??!
Se inscreve logo:!
http://citi.org.br/talkabit/
Idéias para o futuro ?! Análise de Sentimentos!
86. Question: cx_freeze “zlib not avaiable” error when using multiple threads
#comments: 3
http://www.reddit.com/r/Python/comments/1ro891/question_cx_freeze_zlib_not_avaiable_error_when/
!
Python Selenium - Open new tab / focus tab / close tab
#comments: 9
http://www.reddit.com/r/Python/comments/1rmg4n/python_selenium_open_new_tab_focus_tab_close_tab/
!
Python 3 gets some credit for how it chose to handle Unicode compared to other languages
#comments: 24
http://mortoray.com/2013/11/27/the-string-type-is-broken/
!
I am having too much trouble installing pygame.
#comments: 1
http://www.reddit.com/r/Python/comments/1rnxnq/i_am_having_too_much_trouble_installing_pygame/
!
Not exclusively Python, but a nice tool to generate regex code in multiple languages.
#comments: 13
http://txt2re.com/
!
Setting up a (web) development environment
#comments: 11
http://www.reddit.com/r/Python/comments/1rnfle/setting_up_a_web_development_environment/
!
Building a Flask Blog: Part2
#comments: 2
http://pypix.com/python/building-flask-blog-part2/
101. Acesso Twitter Autenticado
Autenticado
Acesso Twitter
• Até junho de 2013 era possível acessar várias
informações do Twitter sem necessidade de
autenticação
• O Twitter resolveu melhorar a segurança e
utilizar OAuth (Open Authentication) até o
acesso básico (search)
• Neste protocolo, recebemos uma chave e
senha que permite o acesso a um recurso
específico durante algum tempo
102. Acesso Twitter Autenticado
Autenticado
Acesso Twitter
• O usuário do Twitter precisa autorizar um
programa externo, que recebe um
consumer_key e um consumer_secret
• Na posse dessa chave e senha podemos pegar
uma chave e senha de acesso temporária
• Não se preocupe se você não entender o
Tweepy. Ano passado era mais simples e só
recentemente ficou mais complicado acessar
o Twitter
122. Hackeando a Web com
Python 3
Marcel Caraciolo
@marcelcaraciolo
Desenvolvedor, Cientista, Instrutor, co- fundador do PyCursos,
contribui com projetos open-source na área de ML,
trabalha com Python há 6 anos, interessado em mobile,
educação, machine learning and dadoooossss!
Recife, Brazil - http://aimotion.blogspot.com