@SkyernAklea sur la boutique Amazon
@Sky3RN sur Twitter
@SkyernAklea sur YouTube
@Sky3RN sur Instagram
@Sky3RN sur Twitch
@SkyernAklea sur Facebook
@Sky3RN sur ASKfm
@JulienJavaux sur VK
Skyërn Aklea sur Apple Music
Skyërn Aklea sur Spotify
Skyërn Aklea sur Deezer
@SkyernAklea sur ReverbNation
@JulienJavaux sur Malt
Booking@Sky3RN.fr


Si, comme moi, tu veux t'afficher les 5 dernières quotes de DansTonChat.com dans un terminal, j'ai développé un petit script en Python, utilisant BeautifoulSoup. Le script s'exécute toutes les heures grâce à la fonction time.sleep(3600) tout à la fin du code, où 3600 correspond à une valeur exprimée en secondes.

Ça m'a pris environ 8h puisque je n'ai jamais touché à Python de ma vie, et je crois bien que je déteste ce langage maintenant ! Je me suis inspiré de plusieurs tutoriels que j'ai pu trouver sur Google et sur YouTube, et le résultat est plutôt concluant, mais j'ai bien galéré à faire fonctionner tout ça correctement..

    Quelques indications :

  • Déjà, le charset, va savoir pourquoi mais en UTF-8 ça ne m'affichait pas ce que je souhaitais, chez moi, la méthode qui a fonctionné, c'est de passer ça en ISO-8859-1 (pour avoir les accents ET les smileys).
  • Ensuite, côté librairies pip et tout et tout, je n'ai pas pensé à noter tout ça, donc j'espère que tu t'y connais suffisamment pour installer ce qu'il te manque !
  • Si tu copies / colles le code ci-dessous pense bien à remettre les indentations (tabulations) aux bons endroits. J'ai cru comprendre que c'était hyper important dans Python..
  • Les quotes s'affichent par ordre décroissant, la plus récente est tout en bas, pour passer en croissant il faut modifier range(4, -1, -1) en range(5)

J'ai donc mis ça dans un fichier que j'ai nommé dtc.py comme on peut le voir ci-dessous.
Je l'exécute simplement avec la commande python3 !

Créé le 13/11/2020

>>> python3 dtc.py


# coding: iso-8859-1
#!/usr/bin/env python3


from __future__ import unicode_literals
import requests
from bs4 import BeautifulSoup
import sys
from unidecode import unidecode
import time
import os
import re


while True:


url = 'http://www.danstonchat.com'

response = requests.get(url)

if response.ok:

os.system('clear')

bashfr = '\n\n \033[1mLES 5 DERNIÈRES QUOTES DE 🐈 DansTonChat.com 😺\033[0m\n\n'
sys.stdout.buffer.write(bashfr.encode('iso-8859-1'))

codehtml = BeautifulSoup(response.text, 'lxml')

for loop in range(4, -1, -1):

divquotesgeneral = codehtml.findAll('div', {'class': re.compile('^item item')})[loop]
titles = divquotesgeneral.find('h3')
score = divquotesgeneral.find('span', {'class': 'score'})
quotenumber = divquotesgeneral['class'][1].replace('item', '#')

print('\n--------------------------------');
sys.stdout.buffer.write(b' \033[1m' + titles.text.encode('iso-8859-1') + b'\n\n\033[0m')

try:

quotesimg = divquotesgeneral.find('a', {'class': 'html img', 'title': True})

if quotesimg:

txt = quotesimg['title'].replace('
', ' ')
sys.stdout.buffer.write(txt.encode('iso-8859-1'))


else:

quotes = divquotesgeneral.find('div', {'class': 'item-content'})> sys.stdout.buffer.write(quotes.text.encode('iso-8859-1'))


except:

print('Aucune quote ou site web inaccessible')


print('\n\n\033[1m' + quotenumber + '\033[0m ' + score.text + '\n--------------------------------\n\n')


time.sleep(3600)



Aperçu sur mon shell :

DansTonChat




Ils me font confiance : Acoustica Mixcraft - Eventide Audio - Line 6 - Tonor - Zoom France



⬆️ Revenir en haut de la page ⬆️