Clément Bitz
Programmes BOT
Un programme qui regroupe les trois étapes
#un programme qui récupère la recette sur https://www.unjourunerecette.fr/
# sélecteur css pour atteindre les étapes de la recette: ol#preparation li span
import mechanize
import lxml.html #as lh
import cssselect
import ssl
#Listes par catégories
bricolage = ['pelle', 'pioche', 'remorque', 'brouette', 'remblai', 'tami', 'trétau', 'taloche', 'masse', 'martelet', 'têtu', 'truelles', 'burin', 'fils à plomb', 'seau', 'auge', 'croc à béton', 'gâche', 'mètre', 'cordeau', 'équerre', 'niveau à bulle', 'règle', 'grand serre-joint','mèche à béton', 'vis à béton', 'chalumeau', 'échelle', 'marteau', 'tournevis plat', 'tournevis cruciforme', 'étau', 'foret à bois', 'fraise', 'rabot à main', 'tour à bois', 'vis à bois', 'foret à métaux', 'extincteur', 'boulon', 'écrou', 'clef à pipe', 'clef plate', 'clef à cliquer', 'clef allène', 'clef en étoile', 'sécateur', 'coupe branches', 'scie', 'grelinette', 'fourche', 'râteau', 'bêche', 'binette', 'faux', 'échafaudage', 'pelleteuse', 'tractopelle', 'camion à gravats', 'bétonnière', 'malaxeur', 'tronçonneuse', 'botteleuse', 'scies égoïnes', 'chauffe-eau', 'panneau photovoltaïque', 'petite éolienne', 'groupe électrogène''poste à souder', 'perceuse', 'meuleuse', 'disqueuse', 'scie circulaire', 'tour à métaux', 'ponceuse', 'rabot électrique', 'poêle à bois', 'ventilateur', 'scie cloche', 'stromboscope', 'pompe à tarer les injecteurs', 'compressiomètre', 'petit tracteur', 'broyeur forestier', 'motoculteur', 'débroussailleuse', 'faillance', 'carrelage', 'lambris', 'crépis', 'papier peint', 'peinture', 'vitrificateur', 'vernis', 'lasure', 'résine', 'mousse expensive', 'graviers', 'brique' , 'plaque acier', 'enduit', 'plâtre' 'ciment', 'mortier', 'câble' 'chaine', 'chaux naturelle', 'parpaings', 'ferraille', 'sable', 'argile', 'pierres', 'mastic', 'tuyau de cuivre', 'tuyau évacuation', 'grillage', 'bâche', 'filet de protection' 'joint de dilatation', 'fil électrique', 'gaine électrique', 'prise', 'interrupteur', 'boîtier', 'fusible', 'adhésif', 'colle à bois' , 'poutre en bois', 'planche', 'liteau', 'tasseau', 'cheville en bois', 'cheville en plastique', 'clou', 'tuile en terre cuite', 'petite bâche', 'grande bâche', 'gouttière en zinc', 'gouttière en plastique', 'bande grillagée', 'ficelle plastique', 'corde', 'tube PER', 'raccord laiton', 'raccord polyéthylène', 'raccord cuivre', 'tube PVC', 'plinthe bois', 'joint carrelage', 'tirefond', 'manchon', 'sangle', 'pointe', 'crochet', 'placo', 'plque acier', 'plaque PVC', 'bardage', 'vanne', 'fenêtre', 'porte', 'vélux', 'parquet']
#initialisation d'un objet "navigateur" avec la librairie mechanize
navigateur = mechanize.Browser()
navigateur.addheaders = [('User-agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/601.3.9 (KHTML, like Gecko) Version/9.0.2 Safari/601.3.9')]
navigateur.set_handle_robots(False)
#fin de la configuration de mechanize
try:
_create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
# Legacy Python that doesn't verify HTTPS certificates by default
pass
else:
# Handle target environment that doesn't support HTTPS verification
ssl._create_default_https_context = _create_unverified_https_context
data = navigateur.open('https://www.unjourunerecette.fr/', timeout=10.0)
#print(data.read())
#convertir la source en arbre html
source = data.read()
arbre_html = lxml.html.fromstring(source)
selecteurs = cssselect.parse('#preparation li span')
#[objet cssselect ol#preparation li span]
#selecteurs[0]
#convertir mon objet css en css select
chemin_xpath = cssselect.HTMLTranslator().selector_to_xpath(selecteurs[0], translate_pseudo_elements=True)
#on va appliquer le chemin xpath sur la source html
resultats = arbre_html.xpath(chemin_xpath)
recette = []
for etape in resultats:
recette.append(etape.text_content())
print(recette)
selecteurs = cssselect.parse('ul#ingredients li a')
chemin_xpath = cssselect.HTMLTranslator().selector_to_xpath(selecteurs[0], translate_pseudo_elements=True)
resultats = arbre_html.xpath(chemin_xpath)
ingredients = []
for resultat in resultats:
ingredients.append(resultat.text_content())
#boucler sur la liste ingredients, pour chaque ingrédient, boucler sur la liste recette, pour chaque étape de la recette, remplacer ingrédient par élément au hasard du tableau bricolage
print(ingredients)
Un programme qui va récupérer la préparation de la recette
#un programme qui récupère la recette sur https://www.unjourunerecette.fr/
# sélecteur css pour atteindre les étapes de la recette: ol#preparation li span
import mechanize
import lxml.html #as lh
import cssselect
import ssl
#initialisation d'un objet "navigateur" avec la librairie mechanize
navigateur = mechanize.Browser()
navigateur.addheaders = [('User-agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/601.3.9 (KHTML, like Gecko) Version/9.0.2 Safari/601.3.9')]
navigateur.set_handle_robots(False)
#fin de la configuration de mechanize
try:
_create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
# Legacy Python that doesn't verify HTTPS certificates by default
pass
else:
# Handle target environment that doesn't support HTTPS verification
ssl._create_default_https_context = _create_unverified_https_context
data = navigateur.open('https://www.unjourunerecette.fr/', timeout=10.0)
#print(data.read())
#convertir la source en arbre html
source = data.read()
arbre_html = lxml.html.fromstring(source)
selecteurs = cssselect.parse('#preparation li span')
#[objet cssselect ol#preparation li span]
#selecteurs[0]
#convertir mon objet css en css select
chemin_xpath = cssselect.HTMLTranslator().selector_to_xpath(selecteurs[0], translate_pseudo_elements=True)
#on va appliquer le chemin xpath sur la source html
resultats = arbre_html.xpath(chemin_xpath)
for etape in resultats:
print(etape.text_content())
Un programme qui va récupérer les ingrédients à remplacer
#un programme qui récupère les ingrédients sur https://www.unjourunerecette.fr/
import mechanize
import lxml.html #as lh
import cssselect
import ssl
#initialisation d'un objet "navigateur" avec la librairie mechanize
navigateur = mechanize.Browser()
navigateur.addheaders = [('User-agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/601.3.9 (KHTML, like Gecko) Version/9.0.2 Safari/601.3.9')]
navigateur.set_handle_robots(False)
#fin de la configuration de mechanize
try:
_create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
# Legacy Python that doesn't verify HTTPS certificates by default
pass
else:
# Handle target environment that doesn't support HTTPS verification
ssl._create_default_https_context = _create_unverified_https_context
data = navigateur.open('https://www.unjourunerecette.fr/', timeout=10.0)
#print(data.read())
#convertir la source en arbre html
source = data.read()
arbre_html = lxml.html.fromstring(source)
selecteurs = cssselect.parse('ul#ingredients li a')
#[objet cssselect ol#ingredients li]
#selecteurs[0]
#convertir mon objet css en css select
chemin_xpath = cssselect.HTMLTranslator().selector_to_xpath(selecteurs[0], translate_pseudo_elements=True)
#on va appliquer le chemin xpath sur la source html
resultats = arbre_html.xpath(chemin_xpath)
for etape in resultats:
print(etape.text_content())
Un programme qui va lister tout le lexique et vocabulaire du bricolage
# -*- coding: utf-8 -*-
import random
import time
#Listes par catégories
Outils = ['pelle', 'pioche', 'remorque', 'brouette', 'remblai', 'tami', 'trétau', 'taloche', 'masse', 'martelet', 'têtu', 'truelles', 'burin', 'fils à plomb', 'seau', 'auge', 'croc à béton', 'gâche', 'mètre', 'cordeau', 'équerre', 'niveau à bulle', 'règle', 'grand serre-joint','mèche à béton', 'vis à béton', 'chalumeau', 'échelle', 'marteau', 'tournevis plat', 'tournevis cruciforme', 'étau', 'foret à bois', 'fraise', 'rabot à main', 'tour à bois', 'vis à bois', 'foret à métaux', 'extincteur', 'boulon', 'écrou', 'clef à pipe', 'clef plate', 'clef à cliquer', 'clef allène', 'clef en étoile', 'sécateur', 'coupe branches', 'scie', 'grelinette', 'fourche', 'râteau', 'bêche', 'binette', 'faux', 'échafaudage']
Machines = ['pelleteuse', 'tractopelle', 'camion à gravats', 'bétonnière', 'malaxeur', 'tronçonneuse', 'botteleuse', 'scies égoïnes', 'chauffe-eau', 'panneau photovoltaïque', 'petite éolienne', 'groupe électrogène''poste à souder', 'perceuse', 'meuleuse', 'disqueuse', 'scie circulaire', 'tour à métaux', 'ponceuse', 'rabot électrique', 'poêle à bois', 'ventilateur', 'scie cloche', 'stromboscope', 'pompe à tarer les injecteurs', 'compressiomètre', 'petit tracteur', 'broyeur forestier', 'motoculteur', 'débroussailleuse']
Matériaux = ['faillance', 'carrelage', 'lambris', 'crépis', 'papier peint', 'peinture', 'vitrificateur', 'vernis', 'lasure', 'résine', 'mousse expensive', 'graviers', 'brique' , 'plaque acier', 'enduit', 'plâtre' 'ciment', 'mortier', 'câble' 'chaine', 'chaux naturelle', 'parpaings', 'ferraille', 'sable', 'argile', 'pierres', 'mastic', 'tuyau de cuivre', 'tuyau évacuation', 'grillage', 'bâche', 'filet de protection' 'joint de dilatation', 'fil électrique', 'gaine électrique', 'prise', 'interrupteur', 'boîtier', 'fusible', 'adhésif', 'colle à bois' , 'poutre en bois', 'planche', 'liteau', 'tasseau', 'cheville en bois', 'cheville en plastique', 'clou', 'tuile en terre cuite', 'petite bâche', 'grande bâche', 'gouttière en zinc', 'gouttière en plastique', 'bande grillagée', 'ficelle plastique', 'corde', 'tube PER', 'raccord laiton', 'raccord polyéthylène', 'raccord cuivre', 'tube PVC', 'plinthe bois', 'joint carrelage', 'tirefond', 'manchon', 'sangle', 'pointe', 'crochet', 'placo', 'plque acier', 'plaque PVC', 'bardage', 'vanne']
Éléments construction = ['fenêtre', 'porte', 'vélux', 'parquet']
#assemblage aléatoire de la recette
#print(rendu)
Bot Twitter
1- Récupérer les données « ingrédients » du site unjourunerecette.fr 2- Modifier tous les ingrédients souhaités par des autres mots d'un autre vocabulaire (exemple bricolage, jargon marseillais ...) via un programme python (vu au premier quadri) 4- Programmer le bot pour publier une recette tous les jours sur twitter, et une étape de la recette toute les heures. 5- Identifier @PhillipeEtchebest sur le tweet
Demande compte développeur Twitter
As a real estate student, and as part of a study project, I would like to create an account using the datas that will allow to concentrate all the real estate offers according to the necessary information of the persons. By tagged the account it will be possible to offer personalized real estate offers.
The account using the datas that will allow to concentrate all the real estate offers according to the necessary location, age, statuts, profession or studies of the persons. By tagged the account it will be possible to offer personalized real estate offers.
The app will use the functionality for found the most in order to find the users concerned and that they can find in return.
HTML
<!doctype html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<h1>Apprécie les poètes ma gâté !</h1>
<h3>* ma gâté</h3>
<h3><a href="article.html">Article 1</a></h3>
<img src="images/schmagate.png">
<section>
<h2>Poète number ouane</h2>
<pre>
Le J c'est le S
Jul sortez Chien pistou
taaJAIjAaSK$ J' le GQSK
Jul aime ALERTE couvert
vais Je la ALERTE
Je fusse la Jul !
</pre>
<img src="images/jul.gif">
</section>
<section>
<h2>Poète number toux</h2>
<pre>
J'aime la soupe pistou
le casse couvert glissait
Je fuit la Italie !
J' tombe la casse !
sortez J' la soupe
</pre>
</section>
</body>
</html>
Édition
#Une édition où est transformé des dizaines de poèmes générés lors du dernier code, en changeant la langue, exemple Russe, Anglais, Allemand, Espagnol… à l’aide de boutons pour chaque langues. Puis un bouton RANDOM MIX LANGUAGE, qui mélange des mots ou phrases en différentes langues proposées en amont.
Binaire
1001100010011111001011110011111000011100101101001111010001000001100011110111111010011101110110001111001010100000111001111101011110010010000011000111100101111001101000001110011110111111011011101101110010111101001110011
Programme perso
# -*- coding: utf-8 -*-
import time
print("Salut à toi jeune entrepreuneur !")
time.sleep(2)
print("Je suis Jean Mi du 13, et je vais te dire quel buveur tu es")
time.sleep(2)
print("Pour commencer quel est ton blaze l'ami ?")
Blaze = raw_input()
print("Okey sympa !")
time.sleep(1)
print(Blaze + " quelle est ta biere préférée ?")
biere = raw_input()
print("Je vois je vois c'est pas dégeu")
time.sleep(2)
print(Blaze + " combien en as-tu bu hier ?")
nbBiere = raw_input()
nbBiere = int(nbBiere)
for compteur in range(1, nbBiere + 1):
print(str(compteur) + "biere !")
time.sleep(1)
if nbBiere < 1:
print("Tu es un petit joueur")
elif nbBiere < 3:
print("Tu es un buveur regulier")
elif nbBiere < 6:
print("Tu était ivre " + Blaze)
elif nbBiere > 6:
print("Tu es completement alcolique mon ptit gars ! Ça va pas du tout je vais te mettre en relation avec un bon médecin " + Blaze)
time.sleep(3)
print("Note bien: 0676493618")
time.sleep(5)
print("Tu pourrai dire merci je t'ai aider")
raw_input()
print("Ouai ouai c'est bien malpoli que tié")
Bilingue Russe
# -*- coding: utf-8 -*-
#Script qui va demander comment s'est passer le week-end de l'utilisateur puis va lui dire qu'il est quasiment bilingue car ce programme va changer certains mots français en mots russes
import time
print("Bien le bonsoir!")
time.sleep(1)
print("Coment vas-tu ?")
humeur = raw_input()
print("Aller raconte moi ton week-end")
time.sleep(1)
weekend = raw_input()
print(" ")
print("Waw sacré week-end!")
print(" ")
time.sleep(2)
print("Tu savais que tu est quasiment bilingue Russe! Dans ton histoire t'as glisser des mots Russes regarde un peu ça")
time.sleep(2)
print(" ")
time.sleep(2)
weekend = weekend.replace("je","я")
weekend = weekend.replace("j'ai","я")
weekend = weekend.replace("suis","быть")
weekend = weekend.replace("était","быть")
weekend = weekend.replace("avec","вместе с")
weekend = weekend.replace("soir","вечер")
weekend = weekend.replace("boire","GLбUGLбU")
weekend = weekend.replace("pas","Niет")
print(weekend)
time.sleep(2)
print(" ")
print("Maintenant demande à tes potes de trouver a quels mots ça correspond !")